Thinkphp5

作者: 任人渐疏_Must | 来源:发表于2018-12-27 13:35 被阅读0次

TP5的生命周期

    入口文件->引导文件->注册自动加载->注册错误和异常机制->应用初始化->URL访问检测->路由检测->分发请求->响应输出->应用结束

入口文件

1. 文件名:index.php
2. 位置:public/index.php
3. 用户通过入口文件,发起服务请求,是整个应用的入口与起点
4. 任务:定义常量,加载引导文件,不要放任何业务处理代码
5. 代码:
  //定义项目路径
define('APP_PATH',__DIR__.'/../application/');
  //  加载框架引导文件
require __DIR__.'/../thinkphp/start.php';

引导文件

1. 文件名:start.php;
2. 位置:thinkphp/start.php;
3. 执行:加载常量->加载环境变量->注册自动加载->注册错误与异常->加载惯例配置->执行应用

注册自动加载

1. 类方法:Loader::register();
2. 作用:将所有符合规范的类库(包括Composer依赖加载的第三方类库)自动加载;
3. 执行流程:注册自动加载方法:\think\Loader::autoload->注册系统命名空间->加载类库影射文件->注册Composer自动加载->注册extend扩展目录

注册错误和异常机制

 执行Error::register()注册错误和异常处理机制。
 由三部分组成:
             1. 应用关闭方法:think\Error::appShutdown
             2. 错误处理方法:think\Error::appError
             3. 异常处理方法:think\Error::appException       

应用初始化

加载公共配置->加载公共扩展配置->  加载应用状态配置->  加载别名定义->  加载行为定义->  加载公共函数文件->  注册应用命名空间->  加载扩展函数文件->  设置默认时区->  加载系统语言包  

URL访问检测

URL必须是PATH_INFO格式才允许继续运行

路由检测

    1. 如果开启了url_route_on参数,则首进行url路由检测;
    2. 一旦检测到匹配的路由,根据路由规则会注册到相应的URL调度
    3. TP5支持的路由规则如下:
            路由到模型/控制器/操作;
            路由到外部重定向地址
            路由到控制器方法
            路由到闭包函数
            路由到类的方法

分发请求

    1. 将用户请求分发到对应的路由地址,完成应用的业务逻辑并返回数据
    2. 统一使用return返回数据,不要用echo直接输出
    3.如非必要,请不要使用exit或者die中断执行
    4.分发请求支持TP5的物种路由地址模式:
            路由到模型/控制器/操作;
            路由到外部重定向地址
            路由到控制器方法
            路由到闭包函数
            路由到类的方法

响应输出

    1. 控制器正常返回的数据通常是:字符串(String)或者数组(Array)格式
    2.统一使用return返回数据,而不是直接输出,这样可以自动调用Response::send()方法将最终的返回数据输出到页面或者客户端,并自动转换成default_return_type参数配置的格式(XML,JSON等)

应用结束

   1. 响应输出完成后,应用生命周期基本结束,可以写日志报告啦;
   2. 日志包括二部分:用户调试输出和系统自动生成
   3. 日志在应用结束后,自动写入

相关文章

网友评论

      本文标题:Thinkphp5

      本文链接:https://www.haomeiwen.com/subject/uusyfftx.html