CI框架代码运行最详细的流程 v3.1
来源:互联网 发布:淘宝五金零配件 编辑:程序博客网 时间:2024/06/03 22:40
CI 框架运行流程(v3.1)
index.php流程:
1、定义开发模式,调试,开发,发布
2、设置system,application等目录
3、设置默认控制器(不建议在index.php设置)
4、设置用户配置
5、检查路径
6、定义路径常量
7、加载引导程序 system/core/codeigniter.php
condeigniter.php流程:
1、定义框架版本
2、加载框架定义的常数 system/config/contants.php
3、加载全部函数 system/core/Common.php
4、检查PHP版本小于5.4,做兼容性处理
5、将PHP超级变量存放在$GLOBALS数组中
6、设置错误,异常,脚本退出触发的函数
7、设置子类前缀
8、如有需要自动加载组件,则加载APPPATH/vendor/autoload.php,或者配置文件里设置的文件路径
9、加载benchmark,并记录total_execution_time_start,_base_classes_start两个时间点
10、加载Hooks,并调用pre_system钩子
11、加载config类,并初始化实例,根据首页设置配置,替换配置文件其中项
12、设置默认字符,并加载msstring、iconv扩展
13、检查mbstring,hash,password,standard类函数是否存在(可能由于版本问题,有些函数在低版本中没定义),则重新定义实现该函数
14、实例化utf8、uri、router、output类
15、缓存检查,如果没有重写cache输出,且满足缓存条件,则直接输出缓存,退出脚本
16、初始化Security、Input、Lang类
17、加载BASEPATH/core/Controller.php控制器(迟点铺开讲)
18、如果存在子控制器,则加载进来
19、设置_base_classes_end时间点
20、检查路由接触出来的class和method是否有效,如果无效,则激活404状态变量
21、检查是否重置404,如果重置404,则检查重置404类和方法是否有效,如果无效,则取消404,
22、如果404为false,第一种情况是本身404一直是未激活,则使用路由解析出来的类和方法,第二种重置了404,但是类或者方法无效,则使用默认的类和方法,否者使用新的类和方法处理404
23、如果方法不是_remap,则获取参数,Hooks调用pre_controller钩子
24、记录controller_execution_time_class_method开始时间,并初始化class
25、Hooks调用post_controller_constructor 钩子
26、调用class中method,这里会调用相应的controller和方法,方法里面在调用model来处理业务逻辑(迟点铺开讲)
27、BM记录controller_execution_time_class_method执行结束时间点
28、Hooks调用post_controller钩子
29、输出视图
30、Hooks调用post_system钩子
阅读全文
0 0
- CI框架代码运行最详细的流程 v3.1
- CI框架代码运行最详细的流程
- 中国最权威的CI框架论坛
- ci框架理解流程
- CI框架工作流程
- CI框架常用代码
- 最简单的CI框架入门示例--数据库取数据
- 最简单的CI框架入门示例--数据库取数据
- 最简单的CI框架入门示例--数据库取数据
- 最简单的CI框架入门示例--数据库取数据
- springMVC框架的运行流程
- ci的执行流程
- 【ci框架】谈CI框架的安全性
- SAE部署CI框架代码
- CI框架内置分页代码
- SpringMVC框架笔记整理(一): SpringMVC详细运行流程
- CI框架分页类的使用(1)
- CI框架的部署
- Hibernate入门实例
- PHP学习笔记4-php的MYSQL数据库访问
- 利用Arrays.sort();方法对相应数组进行升序、降序排列
- 微信授权登录
- 关于flask表单验证json数据不通过总是返回False的解决方法(flask wtforms: Validation always false)
- CI框架代码运行最详细的流程 v3.1
- 实现一个轮播控件并封装起来
- 2017.08.18 python第14次笔记
- YOLO如何训练分类网络???
- 菜鸟都能理解的线段树入门经典
- MYSQL 事务锁信息查询
- 《计算机网络》笔记
- libcurl库 ftp上传文件到服务器
- Mysql多表查询效率的研究(一)