CI框架源码解析1入口文件index.php

index.php作为CI框架的入口文件,自然从此开始。index.php完成四项工作

 

1、设置框架应用的环境状态

2、配置系统、应用、视图等程序目录以及得到路径

3、系统、应用、视图等程序目录正确性验证

4、载入core/CodeIgniter.php框架核心文件,启动框架

 

 

1、设置框架应用的环境状态

 

CI框架源码解析1入口文件index.php

 

针对不同的环境场景状态产生不同级别的错误报告

 

还有一个原因就是,CI框架的很多组件都依赖于ENVIRONMENT,比如system/core/Common.php

 

get_config()

 

CI框架源码解析1入口文件index.php

 

在CI框架中,很多配置文件都是通过这种方式引入的,因此ENVRIONMENT对于CI框架的正确运行时必须的,所以需要在开始的时候配置好ENVIRONMENT。设置ENVIRONMENT的一个好处是:可以很方便的切换系统的配置而不必修改系统代码。例如,在系统进入测试阶段时,database配置为测试的数据库,而在系统测试完毕时,database切换到线上的数据库。这好比是用一个开关控制了系统的环境切换,自然是非常方便的。

 

2、配置系统、应用、视图等程序目录以及得到路径

 

CI框架允许系统、应用目录分开放置,但是必须定义好system app目录,当然可以改成其他的名称

CI框架源码解析1入口文件index.php

 

CLI模式运行 eg php index.php

CI框架源码解析1入口文件index.php

 

3、系统、应用、视图等程序目录正确性验证

 

得到规范化的系统目录的绝对文件路径,并且验证,不存在或不合法die

 

应用、视图目录基本相同

 

CI框架源码解析1入口文件index.php

 

4、载入core/CodeIgniter.php框架核心文件,启动框架

 

CI框架源码解析1入口文件index.php

总结一下,index.php并没有做太多复杂的工作,而是类似军队中押运粮草的,兵马未动粮草先行,为CI框架的运行提供了一系列配置参数和正确性验证,而这些配置和验证,是CI框架能够正常运行的关键。