执行流程

ZhiCms 采用单一入口控制,具体执行过程为"index.php > core.php > App.php",最后到具体的模块内控制器。

模块与方法的访问方式:

http://域名/index.php?r=模块/控制器/方法

第一步:定义常量

常量 说明 示例
ROOT_PATH 网站根目录物理路径 /root/home/www/zhicms/
CONFIG_PATH 配置文件物理路径 /root/home/www/zhicms/data/config/
ROOT_URL 网站根目录URL,不含HTTP域名 /
PUBLIC_URL 公共资源目录URL,不含HTTP域名 /public/

第二步:加载配置

加载"data/config/"目录中的global.php与development.php配置文件

第三步:解析网址

通过访问方式解析得到以下常量:

常量 说明 示例
APP_NAME 模块名 main
CONTROLLER_NAME 控制器名称 Default
ACTION_NAME 方法名 index

第四步:执行模块和方法

检查app/main/controller/DefaultController.php是否存在,如果不存在则输出错误。

所有非语法类错误通过base/controller/ErrorController.php来显示具体错误。

通过debug配置来显示详细错误或不显示详细错误提示。

错误提示使用hook层的钩子,具体在app/base/hook/AppHook.php 中。

可以通过建立hook层的AppHook.php钩子来达到执行模块前后时的其他扩展方法。