Chinaunix首页 | 论坛 | 博客
  • 博客访问: 51202
  • 博文数量: 12
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 142
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-16 21:18
文章分类

全部博文(12)

文章存档

2015年(1)

2014年(1)

2013年(10)

我的朋友

分类: PHP

2013-09-16 21:39:01

    我解读的版本是0.9.3,是2012年6月25号发布的,如果版本不一样,肯定会有很多不兼容的问题,包括架构的不同等等,那么我们来深入分析它的代码.首先是根路径,assets是asset的复数形式,asset本来的意思是"资产,财产",这里肯定就是资源的意思了.fuel是它的主文件,没什么特别的意义,还有一个.htaccess文件,不用说就知道它是服务器的配置参数,还有一个readme.md,它的作用就是说明一些版权信息,作者信息等无聊的东西了,看不看无所谓,还有一个说明.htm,这个也可以不去管,还有一个index.php,我下面决定把它贴上来.当然是我谢过了注释之后的.嘿嘿.

点击(此处)折叠或打开

  1. <?php
  2. //定义安装文件的根目录.
  3. define('INSTALL_ROOT', str_replace('\\', '/', realpath(dirname(__FILE__))).'/fuel/');

  4. //cli模式
  5. if (defined('STDIN'))
  6. {
  7.     $_SERVER['SERVER_NAME'] = 'localhost';
  8.     $_SERVER['SERVER_PORT'] = 80;
  9. }

  10. //定义环境
  11.     define('ENVIRONMENT', 'development');

  12.     //根据环境选择适当的报错级别.
  13.     switch (ENVIRONMENT)
  14.     {
  15.         case 'development':
  16.             ini_set('display_errors', 1);
  17.             error_reporting(E_ALL);
  18.         break;
  19.     
  20.         case 'testing':
  21.         case 'production':
  22.             error_reporting(0);
  23.         break;

  24.         default:
  25.             exit('The application environment is not set correctly.');
  26.     }

  27. //系统文件目录.
  28.     $system_path = INSTALL_ROOT.'codeigniter';

  29. //应用程序目录
  30.     $application_folder = INSTALL_ROOT.'application';


  31.     //为cli模式设置当前路径.
  32.     if (defined('STDIN'))
  33.     {
  34.         chdir(dirname(__FILE__));
  35.     }

  36.     if (realpath($system_path) !== FALSE)
  37.     {
  38.         $system_path = realpath($system_path).'/';
  39.     }

  40.     //确保有一个合适的斜线分隔符.
  41.     $system_path = rtrim($system_path, '/').'/';

  42.     //判断系统路径是否正确.
  43.     if ( ! is_dir($system_path))
  44.     {
  45.         exit("Your system folder path does not appear to be set correctly. Please open the following file and correct this: ".pathinfo(__FILE__, PATHINFO_BASENAME));
  46.     }

  47. //设置主路径
  48.     //本文件的名字.
  49.     define('SELF', pathinfo(__FILE__, PATHINFO_BASENAME));

  50.     //文件的扩展名.
  51.     define('EXT', '.php');

  52.     // Path to the system folder
  53.     define('BASEPATH', str_replace("\\", "/", $system_path));

  54.     // Path to the front controller (this file)
  55.     define('FCPATH', str_replace(SELF, '', __FILE__));

  56.     //系统文件夹的目录.
  57.     define('SYSDIR', trim(strrchr(trim(BASEPATH, '/'), '/'), '/'));


  58.     //应用程序的路径.
  59.     if (is_dir($application_folder))
  60.     {
  61.         define('APPPATH', $application_folder.'/');
  62.     }
  63.     else
  64.     {
  65.         if ( ! is_dir(BASEPATH.$application_folder.'/'))
  66.         {
  67.             exit("Your application folder path does not appear to be set correctly. Please open the following file and correct this: ".SELF);
  68.         }

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

  71. //加载引导部署文件.
  72. require_once BASEPATH.'core/CodeIgniter'.EXT;


阅读(2381) | 评论(2) | 转发(0) |
0

上一篇:没有了

下一篇:解读php框架之codeigniter第一节

给主人留下些什么吧!~~

xinguimeng2013-09-17 19:49:54

7大爷:学习了

我也在通过源码解读大师们的技巧,一起加油吧.

回复 | 举报

7大爷2013-09-17 09:07:34

学习了