关于thinkPHP的路由(二)

本文详细解析了ThinkPHP5框架的请求处理流程,从入口文件开始,介绍如何加载框架引导文件并执行应用。重点分析了核心文件App.php和Request.php的作用,包括请求对象的创建、配置文件的加载及URL处理。

接上篇。但是这次希望从框架的角度来尝试认识路由认识URL及认识框架。

 所有请求都是从入口文件开始的。这是共识。

   在thinkPHP 5.0.24 入口文件如下:

入口文件

  加载框架引导文件: start.php 

                                 

         首先 加载基础文件 base.php

         然后 执行应用。

         所以 :真正的"顺序"              base.php ===> start.php===>index.php

         base.php 

          首先是定义系统关键常量。

          // 载入Loader类
        require CORE_PATH . 'Loader.php'; 主要是实现自动加载。

        // 注册自动加载
         \think\Loader::register();

           // 注册错误和异常处理机制
          \think\Error::register();

           // 加载惯例配置文件
          \think\Config::set(include THINK_PATH . 'convention' . EXT);

  2. 执行应用
      App::run()->send();

      这是整个框架的核心。当我执行一个请求的时候,走过前几步之后,来到App.php。

      run方法以请求对象Request作为参数。返回一个 Response对象。

     然后由这个对象去调用send()方法。即发送数据到客户端。

     这时,整个程序的生命周期就结束了。

     所以核心  就是 app.php 和 request.php  这两个文件。

       因为请求(request)是整个程序的动力(驱动)。处理请求(app)自然非常重要。

      

       Request.php 通过instance方法巧妙的返回自己的实例对象。

         接着加载配置文件,initCommon()初始化应用。

   这里 判断有没有定义    BIND_MODULE 就是上一篇说的在入口文件加入绑定入口文件的那句。

  最麻烦的URL      URL/index.php/index/index/index

   如果开启支持多模块,且绑定了入口 BIND_MODULE  即以:  URL/index.php/index/index  来访问(省略了一个index)

   如果要index.php也隐藏。 就是 隐藏入口文件 不在代码范围内了。   

   

 

 

 

 

 

 

 

 

       

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值