phpcms二次开发之base.php的桥梁作用
2013-03-12 13:08
337 查看
PHPCMS是采用MVC设计模式开发,基于模块和操作的方式进行访问,采用单一入口模式进行项目部署和访问,无论访问任何一个模块或者功能,只有一个统一的入口。
入口程序是在前期处理用户请求的引导程序。它是唯一一个可以被最终用户可以直接请求运行的。
PHPCMS框架入口文件base.php:
文件路径:根目录/phpcms/base.php代码片段如下:
该文件为框架入口文件,包含实例化系统/模块类方法,调用系统/模块方法,系统常用常量等。如:
pc_base::load_model('*_model')加载数据库模型类
pc_base::load_sys_class('classname')实例化系统类
pc_base::load_app_class('classname’,’admin')实例化模块类
pc_base::load_sys_func(‘funcfile’)调用系统函数库
pc_base::load_sys_func('global','test');//加载模块函数库(调用test模块的global函数包)
实例化一个应用
文件路径:根目录/index.php
这段代码首先加载了phpcms框架的引导文件base.php,然后调用其静态方法creat_app()根据指定的配置文件建立了一个Web应用实例并运行。
数据库配置文件database.php的调用
文件路径:根目录/caches/configs/database.php
这段代码首先使用pc_base::load_app_func()加载了index模块自定义的函数库global.func.php,这样就可以随心所欲地调用global.func.php自定义的函数了。使用pc_base::load_config()静态方法加载了phpcms的数据库配置文件database.php,获取数据库的配置信息,这样可以摆脱PHPCMS框架的局限性,使用原生态的PHP+mysql去进行二次开发。
实例化模块类
这段代码使用pc_base::load_app_class()方法实例化admin模块的admin.class类。
由此我们知道,不管我们是调用PHPCMS框架里面的系统类或函数库还是调用自定义的模块类或函数库等,我们都可以在base.php里找到需要的调用方法,所以PHPCMS二次开发,弄清base.php里面的静态方法至关重要。
本文首发网志博客,欢迎转载!转载请注明本文地址,谢谢。
本文地址:http://www.w3note.com/web/17.html
入口程序是在前期处理用户请求的引导程序。它是唯一一个可以被最终用户可以直接请求运行的。
PHPCMS框架入口文件base.php:
文件路径:根目录/phpcms/base.php代码片段如下:
01 | <?php |
02 | define( 'IN_PHPCMS' ,true); |
03 |
04 | define( 'PC_PATH' ,dirname( __FILE__ ).DIRECTORY_SEPARATOR); |
05 |
06 | if (!defined( 'PHPCMS_PATH' ))define( 'PHPCMS_PATH' ,PC_PATH. '..' .DIRECTORY_SEPARATOR); |
07 |
08 | define( 'CACHE_PATH' ,PHPCMS_PATH. 'caches' .DIRECTORY_SEPARATOR); |
09 | …… |
10 | ?> |
pc_base::load_model('*_model')加载数据库模型类
pc_base::load_sys_class('classname')实例化系统类
pc_base::load_app_class('classname’,’admin')实例化模块类
pc_base::load_sys_func(‘funcfile’)调用系统函数库
pc_base::load_sys_func('global','test');//加载模块函数库(调用test模块的global函数包)
实例化一个应用
文件路径:根目录/index.php
1 | <?php |
2 | define( 'PHPCMS_PATH' ,dirname( __FILE__ ).DIRECTORY_SEPARATOR); |
3 |
4 | include PHPCMS_PATH. '/phpcms/base.php' ; |
5 |
6 | pc_base::creat_app(); |
7 |
8 | ?> |
数据库配置文件database.php的调用
文件路径:根目录/caches/configs/database.php
01 | <?php |
02 | defined( 'IN_PHPCMS' ) or exit ( 'Nopermissionresources.' ); |
03 | class index{ |
04 | public function __construct(){ |
05 |
06 | pc_base::load_app_func( 'global' ); |
07 |
08 | $this ->db_config=pc_base::load_config( 'database' ); |
09 |
10 | ... |
11 |
12 | } |
13 |
14 | } |
实例化模块类
01 | <?php |
02 |
03 | defined( 'IN_PHPCMS' ) or exit ( 'Nopermissionresources.' ); |
04 |
05 | pc_base::load_app_class( 'admin' , 'admin' ,0); |
06 |
07 | class admin_fbteam extends admin{ |
08 |
09 | $this ->db_config=pc_base::load_config( 'database' ); |
10 |
11 | ... |
12 | } |
13 | ?> |
由此我们知道,不管我们是调用PHPCMS框架里面的系统类或函数库还是调用自定义的模块类或函数库等,我们都可以在base.php里找到需要的调用方法,所以PHPCMS二次开发,弄清base.php里面的静态方法至关重要。
本文首发
本文地址:http://www.w3note.com/web/17.html
相关文章推荐
- [使用帮助] phpcms二次开发之base.php的桥梁作用
- phpcms二次开发之base.php的桥梁作用
- phpcms二次开发之base.php的桥梁作用
- phpcms二次开发之base.php的桥梁作用
- phpcms二次开发pc_base::load_sys_class函数加载不进去类
- phpcms二次开发步骤
- PHPCMS 二次开发技巧
- 【phpcms-v9】phpcms-v9二次开发所必须知道的步骤(转载)
- PHPCMS2008源码浅析-cache.func.php PHPCMS20008二次开发
- phpcms_v9二次开发后台弹窗口效果
- php开源项目学习二次开发的计划
- php二次开发,,
- PHP二次开发常用的工具|只能在服务器上调试用什么工具开发
- phpcms二次开发_创建功能模块
- 二次开发-如何在PHPEMS引入第三方composer包-验证码实现!
- phpcms二次开发流程
- discuz二次开发笔记(一)------$_G全解析,discuz_g_PHP教程
- php分享网ecshop二次开发视频教程目录
- PHPCMS本地项目二次开发流程
- PHPCMS 二次开发 子站与主站统一数据