研究PHPCMS V9很久了,二次开发经验也不少,一直没来得及总结:
PHPCMS V9常用方法
1、载入类
pc_base::load_sys_class('tree');
是将phpcms/libs/classes里面的tree.class.php导入进来
pc_base::load_app_class('admin','admin',0);
function load_app_class($classname, $m = '', $initialize = 1)接受三个参数
是将phpcms/modules/admin/classes里面的admin.class.php导入进来
2、导入函数
pc_base::load_sys_func('iconv');
是将phpcms/libs/functions里面的iconv.func.php导入进来
pc_base::load_app_func('util');
function load_app_func(funcname, modulename)接受两个参数,第二个参数不填就是载入当前模块下面的函数
是将phpcms/modules/当前的模块名字/functions里面的util.func.php导入进来
3、导入模型
this->db = pc_base::load_model('category_model');
是将phpcms/model/category_model.class.php导入进来
4、读取缓存
getcache('category_items_'.$modelid,'commons');
是将caches/caches_commons/caches_data/category_items_1.cache.php导入进来
读取
5、读取配置文件
pc_base::load_config('system','html_root');
是读取caches/configs/里面的system.php中写入的数组的html_root的键值
6、数据库相关
A、读取一条get_one方法
get_one($where = '', $data = '*', $order = '', $group = '')
使用方法:
第一个参数可以是数组,也可以是"catid=$catid";
第二个参数是读取的字段,如"catid,id"
第三个参数是排序,例如"id desc,listorder desc"
第四个参数是
$this->db->get_one(array('catid'=>$catid), 'arrchildid');
B、仅查询的select方法
* @param $where 查询条件[例`name`='$name']
* @param $data 需要查询的字段值[例`name`,`gender`,`birthday`]
* @param $limit 返回结果范围[例:10或10,10 默认为空]
* @param $order 排序方式[默认按数据库默认方式排序]
* @param $group 分组方式[默认为空]
* @param $key 返回数组按键名排序
* @return array 查询结果集数组
$db->select($where,"id,title,url,inputtime", $limit, $order, '', 'id');
C、查询并分页的listinfo方法
listinfo($where = '', $order = '', $page = 1, $pagesize = 20, $key='', $setpages = 10,$urlrule = '',$array = array(), $data = '*')
$infos = $this->db->listinfo($where,'linkid DESC',$page, $pages = '9');
$pages = $this->db->pages;
D、更新数据update方法
@param $data 要更新的数据内容,参数可以为数组也可以为字符串,建议数组。
* 为数组时数组key为字段值,数组值为数据取值
* 为字符串时[例:`name`='phpcms',`hits`=`hits`+1]。
* 为数组时[例: array('name'=>'phpcms','password'=>'123456')]
* 数组的另一种使用array('name'=>'+=1', 'base'=>'-=1');程序会自动解析为`name` = `name` + 1, `base` = `base` - 1
* @param $where 更新数据时的条件,可为数组或字符串
update($data, $where = '')
E、执行SQL查询方法query
会自动替换phpcms_为表前缀
完整的使用方法可以看phpcms/libs/classes/model.class.php以及mysql.class.php