前言:学习和使用CodeIgniter(CI)框架已经一年多了,这段时间感觉需要对之前工作和学习中的一些知识进行整理一下,毕竟温故而知新嘛~。之后我会对CI框架的源码文件进行解读,并加上自己的一些理解和注释。语言或者其他地方有错误的,希望各位路过的朋友多多包涵,指教。(本系列博文是对3.1.4版本CI框架的解读)
文件位置:./index.php 框架的入口文件
CodeIgniter 默认使用
$_SERVER['CI_ENV']
的值作为 ENVIRONMENT 常量, 如果 $_SERVER['CI_ENV'] 的值没有设置,则设置为 'development'。在 index.php 文件的顶部,你可以看到:
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
$_SERVER['CI_ENV'] 的值可以在 .htaccess 文件或 Apache 的配置文件中 使用
SetEnv
命令进行设置,Nginx 或其他 Web 服务器也有类似的设置方法。 或者你可以直接删掉这个逻辑,根据服务器的 IP 地址来设置该常量。
在 CodeIgniter 中,可以将 index.php 文件中的
ENVIRONMENT
常量设置为
'production'
, 这样也可以关闭这些错误信息。在开发模式下,建议将它设置为 'development' 。
注:在开发测试的时候使用development,在项目正式使用的时候才用development,可以关闭错误报告
ini_set('display_errors', 0);
标志设置为 0 来禁用 PHP 的错误报告
PHP ini_set用来设置php.ini的值,在函数执行的时候生效,脚本结束后,设置失效。无需打开php.ini文件,就能修改配置
接下来就是一些系统文件位置的安全判断
1、设置系统文件夹名
2、设置应用程序文件夹名
涉及到的函数解析:
(1)chdir() 函数改变当前的目录;
(2)dirname(__FILE___) 返回文件所在的当前目录到系统根目录的一个目录结构。Applications/XAMPP/xamppfiles/htdocs/CI
(3)realpath() 函数返回绝对路径。
开始设置主路径常量
SELF 当前文件的路径
BASEPATH 系统路径
FCPATH 前端控制器路径
SYSDIR 系统文件夹路径
APPPATH 应用程序文件夹路径
涉及到的函数解析
1、strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。hello world strrchr('hello world,'l') ld
2、DIRECTORY_SEPARATOR是一个PHP常量,代表反斜杠,因为windows系统和linux系统的反斜杠不一样。在 Windows 中,斜线(/)和反斜线(\)都可以用作目录分隔符,在linux上路径的分隔符是"/"。