CodeIgniter 是一套给 PHP 网站开发者使用的应用程序开发框架和工具包。 它的目标是让你可以更快速的开发,它提供了平常任务中所需的大量类库, 以及简单的接口和逻辑结构。经过减小代码量,CodeIgniter 让你更加专一 于你的创造性工做。php
http://codeigniter.org.cn/user_guide/general/welcome.htmlhtml
下图说明了整个系统的数据流程:前端
index.php做为web请求的入口文件,先分析学习一些index.php文件。web
一、肯定当前环境,生产?研发?测试? 而后针对错误信息级别进行设置。
二、设置CI的核心代码文件夹的名称,默认值是system。浏览器
/* *--------------------------------------------------------------- * SYSTEM DIRECTORY NAME *--------------------------------------------------------------- * * This variable must contain the name of your "system" directory. * Set the path if it is not in the same directory as this file. */ $system_path = 'system';
例如:把system文件夹名称更改成cisys,这里则须要把$system_path = 'cisys';,建议是把system修改如下名称,以保证系统目录的文件夹的独特性!缓存
三、设置webapp的文件夹的名称,默认值application安全
/* *--------------------------------------------------------------- * APPLICATION DIRECTORY NAME *--------------------------------------------------------------- * * If you want this front controller to use a different "application" * directory than the default one you can set its name here. The directory * can also be renamed or relocated anywhere on your server. If you do, * use an absolute (full) server path. * For more info please see the user guide: * * https://codeigniter.com/user_guide/general/managing_apps.html * * NO TRAILING SLASH! */ $application_folder = 'application';
例如,两个application共用一套CI框架也是可行的,在实际项目当中,把一个application当成C端平台,把另外一个application当成B端平台,这样这两个application彻底能够共用一套CI框架。这里如何设置呢?第一个appcaliton为http://www.xxx.com/,第二个application为http://www.xxx.com/admin并发
$url = $_SERVER['REQUEST_URI']?$_SERVER['REQUEST_URI']:$_SERVER['QUERY_STRING']; if(strpos($url,'admin')!==false){ $application_folder = 'admin'; } else{ $application_folder = 'application'; }
四、设置view视图文件夹的名称,默认值为空,则表明view文件夹在application/view下,如有值则表示此文件夹与index.php\system\application平级。app
五、获取\验证system的路径的正确性。框架
六、获取\验证application的路径的正确性。
七、获取\验证view的路径的正确性。
八、加载CI的系统文件的入口文件
/* * -------------------------------------------------------------------- * LOAD THE BOOTSTRAP FILE * -------------------------------------------------------------------- * * And away we go... */ require_once BASEPATH.'core/CodeIgniter.php';
CodeIgniter.php做为整个CI框架的入口文件,下一节重点分析分析。