博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
初学CI源码
阅读量:7054 次
发布时间:2019-06-28

本文共 1598 字,大约阅读时间需要 5 分钟。

CI框架只有一个入口文件就是index.php,就先从入口文件开始。

define('ENVIRONMENT', 'development');//首先定义一个 使用环境的常量。

if (defined('ENVIRONMENT'))

{
    switch (ENVIRONMENT)//根据不同的使用环境来确认不同的错误级别。
    {
        case 'development':
            error_reporting(E_ALL);//所有的错误和警告
        break;
    
        case 'testing':
        case 'production':
            error_reporting(0);//禁用错误报告
        break;
        default:
            exit('The application environment is not set correctly.');
    }
}

$system_path = 'system';//设定CI核心代码的文件夹

$application_folder = 'application';//设定自己应用所在的文件夹

  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("Your system folder path does not appear to be set correctly. Please open the following file and correct this: ".pathinfo(__FILE__, PATHINFO_BASENAME));
    }
    define('SELF', pathinfo(__FILE__, PATHINFO_BASENAME));//当前文件的名字 index.php
    define('EXT', '.php');
    define('BASEPATH', str_replace("\\", "/", $system_path));//system文件夹的绝对地址
    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("Your application folder path does not appear to be set correctly. Please open the following file and correct this: ".SELF);
        }
        define('APPPATH', BASEPATH.$application_folder.'/');
    }
require_once BASEPATH.'core/CodeIgniter.php';//包含核心代码

 

 

 

转载于:https://www.cnblogs.com/monsters/archive/2013/03/28/2986761.html

你可能感兴趣的文章
大文件排序问题
查看>>
php实现rar文件的读取和解压
查看>>
2014年天津市第一批科技计划项目
查看>>
@芥末的糖 ---------- node连接数据库两种方式mysql和moogoDB
查看>>
MongoDB 学习笔记2----条件操作符
查看>>
关于Hibernate5.x的那点事
查看>>
sk-learn 选择正确的估算器
查看>>
python操作mysql数据库
查看>>
erp的核心代码,替代orm
查看>>
字符串--manacher算法(回文串匹配)
查看>>
[LeetCode]: 242: Valid Anagram
查看>>
项目机器在开机器的时候做好标签,汉字标注
查看>>
expr判断整数是相加的值,返回命令的返回值$? 是0,但是少数情况是1,例如1 + -1 ,$? 的结果是1 ,判断要大于1最准确...
查看>>
Matplotlib
查看>>
DES 加密----笔记
查看>>
docker 运行redis
查看>>
VS2015 C#6.0 中的那些新特性(转自http://www.cnblogs.com/henryzhu/p/new-feature-in-csharp-6.html)...
查看>>
魔法森林[NOI2014]
查看>>
bzoj4002[JLOI2015]有意义的字符串
查看>>
python爬虫-抓取acg12动漫壁纸排行设置为桌面壁纸
查看>>