thinkphp5系列框架的生命周期

技术论点 585 阅读 0

基本的生命周期:

thinkphp5系列框架的生命周期

入口文件

idnex.php 就是入口文件,位置在public目录下,用户通过这个文件发起请求

定义常量并加载引导文件。不能放置任何的业务处理代码。

引导文件

start.php 文件

执行的工作原理为:加载常量->加载环境变量->注册自动加载->注册错误和异常->加载惯例配置->执行应用

注册自动加载

类方法:Loader::register()

作用:将所有符合规范的类库(包括composer依赖加载的第三方类库)自动加载。

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

注册错误和异常处理机制

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

thinkphp5系列框架的生命周期

应用初始化

严格意义上来说,前面的内容都可以算是应用初始化部分。

thinkphp5系列框架的生命周期

URL访问检测

URL必须使用PATH_INFO格式才允许继续运行。

PATH_INFO标准格式:https://域名/index.php/模块名/控制器名/操作方法名/参数

兼容模式:https://域名/index.php?s=模块名/控制器名/操作方法名&参数

所有参数为键值对形式。

路由检测

如果开启了路由模式(url_route_on),会首先检测路由。

一旦检测到匹配的路由,根据路由规则会注册到相应的URL调度。

tp5支持的路由规则:↓↓↓

thinkphp5系列框架的生命周期

分发请求

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

统一使用return返回,不能用echo直接输出。

如非必要,不要使用exit或者die中断执行。

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

如上图tp5支持的路由规则↑↑↑

响应并输出

正常返回的数据是数组或者字符串。

建议统一使用return返回,不要用echo输出,这样会执行完毕调用Response::send() 方法将最终的数据结果输出到页面,并自动转换成default_return_type参数配置的格式(JSON、XML等)。

thinkphp5系列框架的生命周期

应用结束

响应结束过后,生命周期基本结束,可以写日志报告。

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

日志在结束之后会自动写入的。

Tags:

版权声明:若无特殊注明,本文皆为《燕闻墨香博客》原创,转载务必保留文章来源。

本文链接:thinkphp5系列框架的生命周期 & https://www.mxooo.cn/633/

推荐阅读
发表评论 取消回复
表情 图片 链接 代码

分享