phpcms二次开发之base.php的桥梁作用

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里面的静态方法至关重要。

标签