tp5生命周期

tp5生命周期:php

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

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

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

入口文件:app

  文件名:index.phpcomposer

  位置:public/index.php;函数

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

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

  代码:define('APP_PATH'.__DIR__.'/../application/');xml

      require __DIR__.'/../thinkphp/start.php';

引导文件:

  文件名:start.php;

  位置:thinkphp/start.php;

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

注册自动加载:

  类方法:Loader::register();

  做用:将全部符合规范的类库自动加载

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

注册错误和异常机制:

  执行Error::register()注册错误和异常处理机制

  应用关闭方法:think\Error::appShutdown

  错误处理方法:think\Error::appError

  异常处理方法:think\Error::appException

应用初始化:

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

URL访问监测:

  URL必须是PATH_INFO格式踩容许进行运行。

  PATH_INFO标准格式:

  http://域名/index.php/(模块名)index/(控制器)user/(方法名)add/id/10/name/jack(参数键值对)

  PATH_INFO兼容格式:

  http://域名/index.php?s=/模块名/控制器名/方法名&参数键值对

路由检测:

  路由规则:

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

  路由到外部重定向地址

  路由到控制器方法

  路由到闭包函数

  路由到类的方法

分发请求:

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

  统一使用return返回数据,不用echo直接输出、

  若是非必要不要用exit或者die中断

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

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

    路由到外部重定向地址

    路由到控制器方法

    路由到闭包函数

    路由到类的方法

响应输出:

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

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

相关文章
相关标签/搜索