工作中一直用的codeigniter框架,但是很多核心的内容并不了解是怎么运行的。
最近工作进度不是很紧,准备花点时间把codeigniter好好的研究一下。
先上index.php文件:
1<?php 2//这个文件是入口,后期所有的文件都是在这里执行。 3/*----------------------------------------------- 4 * 系统环境配置常量 5 * 能够配置错误显示级别 6 * ----------------------------------------------- 7 * 默认情况下: 8 * development //开发环境报告所有错误 9 * testing //测试环境不报告错误 10 * production //生产环境不报告错误 11 */ 12 define('ENVIRONMENT', 'development'); 13 14/* 15 * 根据环境常量打开不同的错误显示级别 16 */ 17 switch (ENVIRONMENT){ 18 case 'development': 19 error_reporting(E_ALL); 20 break; 21 22 case 'testing': 23 case 'production': 24 error_reporting(0); 25 break; 26 27 default: 28 exit('应用的环境设置错误.'); 29 } 30 31/* 32 * --------------------- 33 * 系统文件夹名称 34 * -------------------- 35 * 默认情况下是"system"文件夹,并且在相对于index.php文件同一个目录下。 36 * 你可以更改这个路径,但是路径必须与你的系统文件所在位置一致 37 * 38 * 不需要后面的斜杠"/"; 39 */ 40 41 $system_path = 'system'; 42 43/* 44 *--------------------------------------------------------------- 45 * 应用程序所在文件夹 46 *--------------------------------------------------------------- 47 * 48 * 这个文件夹是放置程序的地方,可以放置在目录中的任何地方。 49 * 50 * 详情可以访问: 51 * http://codeigniter.com/user_guide/general/managing_apps.html 52 * 53 * 不需要后面的斜杠"/"; 54 * 55 */ 56 57 $application_folder = 'app'; 58 59/* 60 * -------------------------------------------------------------------- 61 * 这个地方有一段用户自己设置的代码,我自己还没怎么搞清楚,就不写了 62 * -------------------------------------------------------------------- 63 64/* 65 * --------------------------------------------------------------- 66 * 使用可靠的路径解决路由问题 67 * --------------------------------------------------------------- 68 */ 69 70 // 是否是从命令行运行? 71 if (defined('STDIN')){ 72 73 chdir(dirname(__FILE__)); 74 } 75 76 if (realpath($system_path) !== FALSE){ 77 78 $system_path = realpath($system_path).'/'; 79 } 80 81 // 确保最后一定以后一个斜杠"/"; 82 $system_path = rtrim($system_path, '/').'/'; 83 84 // 判断系统目录是否存在 85 if ( ! is_dir($system_path)){ 86 87 exit("你的系统目录未设置正确. 请打开以下文件重新设置: ".pathinfo(__FILE__, PATHINFO_BASENAME)); 88 } 89 90/* 91 * ------------------------------------------------------------------- 92 * 设置路径常量 93 * ------------------------------------------------------------------- 94 */ 95 // 获得当前文件名 96 define('SELF', pathinfo(__FILE__, PATHINFO_BASENAME)); 97 98 // php文件后缀 99 define('EXT', '.php'); 100 101 // 系统文件夹路径 102 define('BASEPATH', str_replace("\\", "/", $system_path)); 103 104 // 根目录所在绝对路径 105 define('FCPATH', str_replace(SELF, '', __FILE__)); 106 107 // 获得系统文件夹的名称 108 define('SYSDIR', trim(strrchr(trim(BASEPATH, '/'), '/'), '/')); 109 110 // 应用程序文件夹的路径 111 if (is_dir($application_folder)){ 112 113 define('APPPATH', $application_folder.'/'); 114 }else{ 115 if ( ! is_dir(BASEPATH.$application_folder.'/')){ 116 117 exit("你的应用程序目录可能未设置正确. 请打开以下文件设置: ".SELF); 118 } 119 120 define('APPPATH', BASEPATH.$application_folder.'/'); 121 } 122 123/* 124 * -------------------------------------------------------------------- 125 * 文件加载主方法 126 * -------------------------------------------------------------------- 127 */ 128require_once BASEPATH.'core/CodeIgniter'.EXT; 129 130/* End of file index.php */ 131/* Location: ./index.php */