工作中一直用的codeigniter框架,但是很多核心的内容并不了解是怎么运行的。

最近工作进度不是很紧,准备花点时间把codeigniter好好的研究一下。

先上index.php文件:

//这个文件是入口,后期所有的文件都是在这里执行。

/*-----------------------------------------------

* 系统环境配置常量

* 能够配置错误显示级别

* -----------------------------------------------

* 默认情况下:

* development //开发环境报告所有错误

* testing //测试环境不报告错误

* production //生产环境不报告错误

*/

define('ENVIRONMENT', 'development');

/*

* 根据环境常量打开不同的错误显示级别

*/

switch (ENVIRONMENT){

case 'development':

error_reporting(E_ALL);

break;

case 'testing':

case 'production':

error_reporting(0);

break;

default:

exit('应用的环境设置错误.');

}

/*

* ---------------------

* 系统文件夹名称

* --------------------

* 默认情况下是"system"文件夹,并且在相对于index.php文件同一个目录下。

* 你可以更改这个路径,但是路径必须与你的系统文件所在位置一致

*

* 不需要后面的斜杠"/";

*/

$system_path = 'system';

/*

*---------------------------------------------------------------

* 应用程序所在文件夹

*---------------------------------------------------------------

*

* 这个文件夹是放置程序的地方,可以放置在目录中的任何地方。

*

* 详情可以访问:

* http://codeigniter.com/user_guide/general/managing_apps.html

*

* 不需要后面的斜杠"/";

*

*/

$application_folder = 'app';

/*

* --------------------------------------------------------------------

* 这个地方有一段用户自己设置的代码,我自己还没怎么搞清楚,就不写了

* --------------------------------------------------------------------

/*

* ---------------------------------------------------------------

* 使用可靠的路径解决路由问题

* ---------------------------------------------------------------

*/

// 是否是从命令行运行?

if (defined('STDIN')){

chdir(dirname(__FILE__));

}

if (realpath($system_path) !== FALSE){

$system_path = realpath($system_path).'/';

}

// 确保最后一定以后一个斜杠"/";

$system_path = rtrim($system_path, '/').'/';

// 判断系统目录是否存在

if ( ! is_dir($system_path)){

exit("你的系统目录未设置正确. 请打开以下文件重新设置: ".pathinfo(__FILE__, PATHINFO_BASENAME));

}

/*

* -------------------------------------------------------------------

* 设置路径常量

* -------------------------------------------------------------------

*/

// 获得当前文件名

define('SELF', pathinfo(__FILE__, PATHINFO_BASENAME));

// php文件后缀

define('EXT', '.php');

// 系统文件夹路径

define('BASEPATH', str_replace("\\", "/", $system_path));

// 根目录所在绝对路径

define('FCPATH', str_replace(SELF, '', __FILE__));

// 获得系统文件夹的名称

define('SYSDIR', trim(strrchr(trim(BASEPATH, '/'), '/'), '/'));

// 应用程序文件夹的路径

if (is_dir($application_folder)){

define('APPPATH', $application_folder.'/');

}else{

if ( ! is_dir(BASEPATH.$application_folder.'/')){

exit("你的应用程序目录可能未设置正确. 请打开以下文件设置: ".SELF);

}

define('APPPATH', BASEPATH.$application_folder.'/');

}

/*

* --------------------------------------------------------------------

* 文件加载主方法

* --------------------------------------------------------------------

*/

require_once BASEPATH.'core/CodeIgniter'.EXT;

/* End of file index.php */

/* Location: ./index.php */

php clownfish,CodeIgniter框架代码解析-index.php相关推荐

  1. jQuery框架代码解析

    jQuery是一款优秀的js框架.它应用广泛,插件众多.它的框架代码质量也非常优秀.在平时的js编码中也是可以借鉴的.  整体框架 1.整体形式 (function(window,undefi ...

  2. RPG Maker mv框架代码解析之窗口图片显示

    文章目录 1 窗口基类的图片描画接口 1.1 Face描画接口 1.2 Icon描画接口 2 描画自定义图片 1 窗口基类的图片描画接口 RPG Maker mv框架中的窗口基类(Window_Bas ...

  3. RPG Maker mv框架代码解析之窗口文字显示

    目录 窗口文字显示 字体的颜色 通常色 系统色 危机色 死亡色 计量器背景色 血量计量器色1 血量计量器色2 魔法计量器色1 魔法计量器色2 魔法消耗色 力量上升色 力量下降色 技能值计量器色1 技能 ...

  4. RPG Maker mv框架代码解析之Sprite_Button

    1 Sprite_Button rpg maker mv框架中的按钮组件,一般作为窗口组件的成员使用. 2 原型 Sprite 3 方法 3.1 update callback,Sprite_Butt ...

  5. CodeIgniter框架解析

    转载于:https://www.cnblogs.com/xiaoxiaoqingyi/p/6901654.html 转载仅为以后自己学习. 业余花了点时间看看CodeIgniter框架(简称CI),C ...

  6. 解析CI即CodeIgniter框架在Nginx下的重写规则

    本篇文章是对CI即CodeIgniter框架在Nginx下的重写规则进行了详细的分析介绍,需要的朋友参考下 最近研究CI框架,发现这个框架的路由功能在Nginx下有问题,报404错误,后来在网上查资料 ...

  7. php实现推广海报,php微信推广海报PHP CodeIgniter框架源码解析

    PHP CodeIgniter框架源码解析 1.index.php :入口文件 |-->define('ENVIRONMENT') |主要用于设置errors日志输出级别 |-->$sys ...

  8. mongoose框架示例代码解析(一)

    mongoose框架示例代码解析(一) 参考: Mongoose Networking Library Documentation(Server) Mongoose Networking Librar ...

  9. ***PHP中error_reporting()用法详解(含codeigniter框架中屏蔽错误提示的解决方案)

    php中我们对错误的处理会常用到error_reporting函数了,大家可以看到最多的是error_reporting(E_ALL ^ E_NOTICE)了,这个到底什么意思呢,下面我来来看看. e ...

最新文章

  1. 好记性不如烂笔杆-android学习笔记二 Acitvity lifecycle 生命周期
  2. 【大话数据结构算法】直接插入排序
  3. POJ-1386 Play on Words 有向图欧拉通路判定
  4. java ee面试题专家总结(必看),Java EE面试题专家总结(必看)
  5. 常用excel函数 vlookup,concatenate, 的使用
  6. 运用枚举展示静态数据
  7. Cesium:点击实体后在实体上方添加div,并随地球转动不断更新位置
  8. 2014年3月至2014年6月阅读记录(共64项)
  9. Linux-----信号量
  10. GB/T 28448-2019 《信息安全技术 网络安全等级保护测评要求》之安全通信网络测评解读
  11. cu.html 光猫 管理密码,中兴ZXHN F607联通光猫管理员账号密码获取方法
  12. SECS/GEM如何开发
  13. c语言error lnk 2005,error LNK2005问题,小弟实在无能为力!!!
  14. 编程c语言黑与白,C语言黑与白问题
  15. 为何需要代码签名证书? 有了代码签名有什么不同?
  16. vue2和elementUI 打造落日余晖登录页和滑块校验
  17. configure.ac
  18. 纪念Dropbox君
  19. Django之Cookie和 Session
  20. LDA主题模型的原理及使用教程

热门文章

  1. linux 配置 DNS 服务器用于解析本地请求
  2. 通过pxe从网络启动安装Windows XP - dragonbbc的专栏 - CSDNBlog
  3. JavaScript设计模式 - 抽象工厂模式
  4. 【WY】数据处理 — Python 阶段一 :基础语法 六 —— 数学建模:介绍
  5. C++ 最大子序列和
  6. Unity3D组件 | Excel导出
  7. listagg 函数导致中文乱码
  8. 基于springboot实现私人健身与教练预约管理系统【源码+论文】分享
  9. 什么是版本控制,什么是代码托管平台
  10. JAVA_AWT 实现简单弹球小游戏