thinkphp的生命周期

1.入口文件 index.php

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

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

2.引导文件

start.php;

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

3.注册自动加载

Loader::register();

将所有符合规范的类库(包括Composer依赖加载的第三方类库)自动加载

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

4.注册错误和异常机制

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

应用关闭方法,think/Error::appShutdown

错误处理方法,think/Error::appError

异常处理机制,think/Error::appException

5.应用初始化

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

6.URL访问检测

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

PTAH_INFO标准格式:

举例:

PATH_INFO兼容格式:

举例:http://tp5.com/index.php?s=index/user/add\&id=108name=peter

7.路由检查

开启url_route_on参数,则首先进行URL检测路由机制。

一旦检测到匹配的路由机制,根据路由规则会注册到响应的URL调度;

TP5支持的路由规则

路由到模块/控制器/操作,

路由到外部重定向地址

路由到控制器方法,

路由到闭包函数,

路由到类的方法,

8.分支请求:

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

统一使用return返回数据,

分发请求支持TP5的5种路由地址模式

9.响应输出

控制器正常返回的数据通常是:字符串(string)或数组(Array)格式。

统一是同return返回数据,而不是直接输出,这样可以自动调用Response::Send()方法将最终的返回数据输出到页面或者客户端并自动换成default_return_type参数配置格式(XML, JSON等)

10.应用结束

响应输出完成后:应用生命周期结束,可以添加日志报告:

日志包括两部分:用户调试输出和系统自动生成

相关推荐
私人珍藏库8 小时前
[Android] PeakFinder AR v4.8.89 (山峰全景识别+增强现实山峰查看器)
android·人工智能·智能手机·ar·工具·软件
researcher-Jiang9 小时前
高性能计算之OpenMP——超算习堂学习1
android·java·学习
alexhilton10 小时前
Kotlin DSL深度解析:从Gradle脚本到构建你自己的DSL
android·kotlin·android jetpack
烽火聊员10 小时前
查看Android Studio错误日志
android·ide·android studio
星空语15 小时前
音频001_Android+Linux车载/手机音频全链路分层架构图
android·linux·音视频
CyL_Cly16 小时前
解决官网下载慢!Android Studio 最新版网盘下载
android·ide·android studio
智塑未来16 小时前
鸿蒙系统对比安卓、iOS,核心优势是什么?
android·ios·harmonyos
AI刀刀16 小时前
豆包智能体对话导出后,如何构建长期归档与高效检索体系?
android·人工智能·word·excel·ai导出鸭
初雪云18 小时前
iOS 上架入门:证书、描述文件、IPA 上传到底是什么关系?
android·ios·自动化·产品经理·iphone
玩机达人8820 小时前
一加12/Ace5/Ace3pro手机ColorOS16降级回锁BL熔断变黑砖怎么办
android·智能手机·电脑