thinkphp5.1生命周期

  入口文件-》引导文件-》注册自动加载-》

  注册错误和异常机制-》应用初始化-》url访问检测-》

  路由检测-》分发请求-》响应输出-》应用结束

入口文件

  文件名:index.php

  位置:public/index.php;

  用户通过入口文件,发送服务请求,是整个应用的入口和起点

  任务:定义常量,加载引导文件,不要放任何业务处理代码

  代码: require __DIR__.'/../thinkphp/base.php';

                  Container::get('app')->run()->send();

引导文件

  文件名:base.php;

  位置:thinkphp/base.php;

  执行:加载常量->加载环境变量->注册自动加载->注册错误与异常->加载惯例配置->执行应用

注册自动加载

  类方法:Loader::register();

  作用:将所有符合规范的类库自动加载

  执行流程:注册自动加载方法->注册系统命名空间->加载类库映射文件->注册composer自动加载->注册extend扩展目录

注册错误和异常机制

  执行 Error::register()

应用初始化:

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

URL访问监测

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

  PATH_INFO标准格式:

  http://域名/index.php/模块名/控制器/方法名/参数/参数值/

路由检测

  路由规则:

  路由到模块/控制器/方法(默认模式)

  路由到外部重定向地址

  路由到控制器方法

  路由到闭包函数

  路由到类的方法

分发请求

  将用户的请求分发到对应的路由地址,完成应用的业务逻辑并返回数据

  统一使用return返回数据

  如果非必要不要用exit或者die中断

  分发请求的五种路由地址模式:

    路由到模块/控制器/方法(默认模式)

    路由到外部重定向地址

    路由到控制器方法

    路由到闭包函数

    路由到类的方法

响应输出

  控制器正常返回的数据通常是String或者、Array的格式

  统一使用return返回数据,不是直接输出,这样可以自动调用Response::send()方法将最终的返回数据输出到页面或者客户端。并自动转换称default_return_type参数设置的格式(xml,json等)

原文地址:https://www.cnblogs.com/jdbeyond/p/11351682.html