codeigniter源码分析-核心文件CodeIgniter.php

  该文件首先执行下面语句 require(BASEPATH.'core/Common.php') 导入需要用到的函数。

   codeigniter的核心文件在于CodeIgniter.php,php是服务器端脚本,对于每个用户代码不可能共享,所有的请求处理都是从重新执行第一句代码开始。而在CodeIgniter.php文件中,处理了Action前后的逻辑,以及文件载入等操作。

路径处理:

$RTR->_set_routing();
 
                    //Set any routing overrides that may exist in the main index file
                    if(isset($routing))
                    {
                                         $RTR->_set_overrides($routing);
                    }

   缓存处理:

$class  = $RTR->fetch_class();
         $method= $RTR->fetch_method();
 
         if( ! class_exists($class)
                   ORstrncmp($method, '_', 1) == 0
                   ORin_array(strtolower($method), array_map('strtolower', get_class_methods('CI_Controller')))
                   )
         {
                   if( ! empty($RTR->routes['404_override']))
                   {
                            $x= explode('/', $RTR->routes['404_override']);
                            $class= $x[0];
                            $method= (isset($x[1]) ? $x[1] : 'index');
                            if( ! class_exists($class))
                            {
                                     if( ! file_exists(APPPATH.'controllers/'.$class.'.php'))
                                     {
                                               show_404("{$class}/{$method}");
                                     }
 
                                     include_once(APPPATH.'controllers/'.$class.'.php');
                            }
                   }
                   else
                   {
                            show_404("{$class}/{$method}");
                   }
                    }
   CodeIgniter在最后处理了_remap(),该函数用法如下:

http://www.2cto.com/kf/201204/128133.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值