PHPCMS V9加载顺序
PHPCMS V9和V8相比,总体思路方向是一样,不同的是V9把OOP和MVC结合得更加完美。
打开根目录下面的index.php 三行代码,相比V8的 index.php来说 更加清楚,
phpcms下面的base.php文件,是一个基础类,里面的功能类似于V8的common.inc.php不同的是他把加载系统类于,应用类,数据模型,系统函数,应用函数,配置文件全部常用功能都可以通过pc_base直接调用出来:
如 pc_base::load_sys_func('global')
是加载系统的函数库,include文件 libs\functions\global.func.php,_load_func是用两个参数,如果第二个参数不为空,则include路径为$path\global.func.php
pc_base::load_config('system','errorlog')
是加载配置文件,include CACHE_PATH/configs/system.php,然后读取是否有键名为errorlog的键值
pc_base::load_sys_class('application')
是加载系统类方法,include libs/classes/application.class.php,默认都是实例化,实例化到classes数组中,在这个方法中,如果有自己的扩展类存(phpcms\libs\classes\MY_application.class.php),也会自动的加载并实例化
在application类的构造函数中,include libs/classes/param.class.php, 加载pc_base::load_config('route', 'default'),直接获得默认的MVA,然后执行init,load_controller(加载控制器)加载通过param.class.php得到的配置controller,再初始化controller中的init事件,