CodeIgniter框架源码学习之框架入口文件--index.php

前言:学习和使用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上路径的分隔符是"/"。

你可能感兴趣的:(CI源码)