|
楼主 |
发表于 2014-4-26 10:16:46
|
显示全部楼层
从网上搜的,但没找到合适的位置
<p>入口文件入口文件主要完成下列工作:<br>
1. 指定 CodeIgniter 框架所在目录;<br>
2. 定义 APPPATH 常量,指示应用程序文件根目录;<br>
3. 载入 codeigniter/CodeIgniter.php 文件,启动框架。</p>
<p>codeigniter/CodeIgniter.php 文件这个文件是 CodeIgniter 的基本文件,主要完成初始化 CodeIgniter 框架和启动应用程序两项工作。</p>
<p>1. 实例化 CI_Benchmark,这个类用于标记应用程序执行消耗的时间;<br>
2. 载入应用程序的配置文件 require(APPPATH.?config/config‘.EXT);<br>
3. 实例化 CI_Config,这个类用于将数组封装为可以操作的配置服务;<br>
4. 实例化 CI_Router,这个类用于分析 URL 请求,确定要执行的控制器和动作;<br>
5. 实例化 CI_Output,这个类提供输出内容的缓存和检查服务;<br>
6. 通过 $OUT->_display_cache($CFG, $RTR) 尝试输出缓存内容,如果成功,则结束程序运行;<br>
7. 判断控制器类定义文件是否存在。如果不存在则通过 show_404() 显示错误信息;<br>
8. 实例化 CI_Input,这个类提供对 $_GET、$_POST 的访问手段,并封装了一些过滤方法;<br>
9. 实例化 CI_URI,这个类提供对 URL 的分析、构造服务;<br>
10. 实例化 CI_Language,这个类提供多语言字符串映射服务;<br>
11. 载入 codeigniter/Base4.php 或者 codeigniter/Base5.php;<br>
12. 载入 libraries/Controller.php;<br>
13. 载入控制器类定义文件;<br>
14. 实例化控制器类;<br>
15. 如果控制器使用了 scaffolding 功能,则调用控制器的 _ci_scaffolding() 方法,否则调用控制器动作方法;<br>
16. 通过 $OUT->_display(); 输出内容($OUT 是 CI_Output 的实例)。<br>
|
|