时间:2021-07-01 10:21:17 帮助过:3人阅读
|||| – caches_*||||||||||||| – admin.| – index.| – crossdomain.| – robots.| – favicon.PHPCMS是采用MVC设计模式开发,/模块名称 phpcms//modules/模块
如果你添加的控制器类继承了其他的类,你要小心你的方法名不要和那个类中的方法名一样了,否则你的方法会覆盖原有的。
命名规范
PHPCMS其自身的一定规范。下面是使用PHPCMS做二次开发中应该遵循的命名规范:
类文件需要以.class.php为后缀(这里是指的phpcms的系统类库文件和模块中的类库文件,第三方引入的不做要求),例如http.class.php。
函数文件需要以.func.php为后缀(第三方引入的不做要求),例如mail.func.php。
类名和文件名一致,例如 phpcmsapp类的文件命名是phpcmsapp.class.php。
数据模型需要以“数据表名称_model.class.php”为形式,类名称与文件名必须相同。
配置文件调用
配置文件配置在caches/configs/目录下。
配置文件调用:使用 load_config方法
$upload_url = pc_base::load_config('配置文件','要获取的配置键','默认配置。当获取配置项目失败时该值发生作用','是否强制重新加载');
示例:
调用系统配置中的附件路径
$upload_url = pc_base::load_config('system','upload_url');
二次开发技巧
1.如果要对已存在的控制器进行二次开发,为了方便升级不建议直接对内核文件直接修改该,您可以通过"MY_*.php"的形式进行二次开发。
例如您要对改phpcms/mood/index.php进行二次开发。您可以在与index.php同级的目录下建立"MY_index.php"
MY_index.php代码如下
这样当您通过url访问index控制器的时候,系统会默认指向MY_index.php 并且原文件的方法将被继承,可以直接使用。
数据库配置
数据库配置文件位置:caches/configs/database.php
我们打开这个配置文件,加入我们的数据库配置信息。数据库配置信息为二维数组结构,默认为default,可以根据default结构配置多个数据库链接(如:extended_1)
array (
'hostname' => 'localhost',
'database' => 'phpcms',
'username' => 'admin',
'password' => 'admin',
'tablepre' => 'v9_',
'charset' => 'gbk',
'type' => 'mysql',
'debug' => true,
'pconnect' => 0,
'autoconnect' => 0
),
/* 以下格外添加
'extended_1' => 'hostname' => '10.10.125.2',
'database' => 'phpcms',
'username' => 'admin',
'password' => 'admin',
'tablepre' => 'v9_',
'charset' => 'gbk',
'type' => 'mysql',
'debug' => ,
'pconnect' => 0,
'autoconnect' => 0,?>/configs/route. 'default'=>('m'=>'admin', 'c'=>'index', 'a'=>'init'),
'test.youname.com'=>('m'=>'test', 'c'=>'index', 'a'=>'init'),?>['catid' 'default'=>'m'=>'phpcms',
'c'=>'index',
'a'=>'init',
'data'=>'POST'=>'catid'=>1,
'GET'=>'contentid'=>1?>=2那么你在程序中使用/configs/.1.2.3.4.5.6.///:"default"/modules/模块/+.php,例如一个名为mytest的控制器,那么他的命名为mytest.1.mytest.
?>:
http:
2.mytest_admin.('IN_PHPCMS') or ('No permission resources.'::load_app_class('admin','admin',0 mytest_admin = 'oh,i am phpcmser' ?>1.\模块名称 目录中,本示例也就在phpcms\templates\:
template('test', 'mytest', 'default',. = 'hello world!' template('test', 'mytest', 'default'2. ->admin_tpl('mytest_admin_list'.tpl.php,注意:后台模板必须以.tpl.. = 'oh,i am phpcmser' ->admin_tpl('mytest_admin_list'/model/+'_model.class.php'"test",首先需要建立一个数据库模型文件,文件名称为'test_model.class.php'('IN_PHPCMS') or ('No permission resources.'::load_sys_class('model', '', 0 test_model ->db_config = pc_base::load_config('database'->db_setting = 'default'->table_name = 'test'::?>1.2.->db_setting = 'default'3.->table_name = 'test'->db = pc_base::load_model('test_model'db = pc_base::load_model('test_model');
}
public function init() {
$result = $this->db->select();
var_dump($result);
}
}
?>->db中所支持的方法请参照phpcms/libs/classes/model..php中方法
http://www.bkjia.com/PHPjc/750101.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/750101.htmlTechArticle| | | | caches_* | | | | | | | | | | | | | admin. | index. | crossdomain. | robots. | favicon. PHPCMS 是采用MVC设计模式开发 , /模块名称 phpcms/ /modules/模块 'extend...