应用执行流程
浏览数 99491
最后修改时间
YiluPHP非常小巧,框架自带demo和保留了代码的中文注释,文件总容量才 275 KB,打包成zip文件后才99KB,如此小巧的框架,你要禁不住喊出“哦妹子音”,在这个设计模式乱飞、优雅姿势胜出的时代,竟然能抽象提取出如此精简的PHP框架。
对的,YiluPHP就是这么精简小巧,要了解它的全部执行流程也是相当容易的事,甚至你可以通过查看源码了解清楚,全部流程就体现在这一个文件当中 /public/index.php,包括空行和注释总共才1081行,10分钟即可通过阅读源码看清执行流程。
下面是整个执行流程:
- index.php入口文件
- 定义项目根目录的全局常量 APP_PATH
- 载入配置信息到全局变量 $config
- 定义框架的系统文件目录全局常量 SYSTEM_PATH
- 设置PHP错误级别
- 定义一些错误码的常量
- 定义了几个必须的公共函数
- 定义了框架的核心类 YiluPHP
- 注册类的自动加载方法
- 设置Session存储到Redis 如果不使用session则不会执行此步骤
- 设置当前使用的语言
- 实例化YiluPHP的核心对象$app
- 写访问日志 用于跟踪请求是否已到达
- 如果是CLI模式则解析参数$_GET、$_POST和$_REQUEST
- 如果是http请求模式则执行以下流程
- 执行前置类 例如身份校验、权限验证、CSRF检查
- 解析URI路由和参数
- 查找并执行controller文件
- 在controller中调用logic逻辑处理类 识情况选择性调用
- 在controller中调用model数据模型类 识情况选择性调用
- 在controller中调用全局函数result()渲染html模板或其它格式的结果数据 例如HTML、JSON、JSONP、错误
- 在result()函数中执行后置类 例如头信息设置
- 输出result()返回的数据
- 结束