phpcms 模块之间 调用 常用操作列表(二次开发)

常用操作列表(1) phpcms phpcms base php1 调用数据库模型$this->db = pc_base::load_model( test_

常用操作列表(1)

phpcms\phpcms\base.php

1.调用数据库模型

$this->db = pc_base::load_model('test_model');

其中$this->db中所支持的方法请参照phpcms/libs/classes/model.class.php中方法

2.加载系统类

$http = pc_base::load_sys_class('http'); //实例化http类
pc_base::load_sys_class('format', '', 0); //调用form类,不进行实例化操作3.加载系统函

3.加载系统函数库

pc_base::load_sys_func('mail'); //调用mail函数包

4. 加载模块类

$test = pc_base::load_sys_class(‘classname‘,’test’); //实例化test模块下 classname类

5.加载模块函数库

pc_base::load_sys_func(‘global‘,’test’); //调用test模块的global函数包

常用操作列表(2)

6.加载前台模板

include template('test', 'mytest', 'default');

7.加载后台模板

include $this->admin_tpl('mytest_admin_list');

8.权限控制

后台控制控制器需要加载admin模块下的admin类,并继承该类

<?php
    defined('IN_PHPCMS') or exit('No permission resources.');
    pc_base::load_app_class('admin','admin',0);
    class mytest_admin extends admin {
    //这个控制器需要登录后台才可以访问 }
    ?>


9 .加载应用类方法


     * 加载应用类方法
     * @param string $classname 类名
     * @param string $m 模块
     * @param intger $initialize 是否初始化
     */
    public static function load_app_class($classname, $m = '', $initialize = 1) {
        $m = empty($m) && defined('ROUTE_M') ? ROUTE_M : $m;
        if (empty($m)) return false;
        return self::_load_class($classname, 'modules'.DIRECTORY_SEPARATOR.$m.DIRECTORY_SEPARATOR.'classes', $initialize);
    }