ThinkPHP5——4 生命周期:从发出请求到响应完成

本文详细介绍了ThinkPHP5(简称TP5)框架的应用生命周期,从入口文件到应用结束的全过程,包括入口文件、引导文件、自动加载机制、错误异常处理、URL访问检测、路由检测、分发请求、响应输出等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、TP5生命周期

1、入口文件

(1)文件名:index.php
(2)位置:public/index.php
(3)用户通过入口文件,发起服务请求,是整个应用的入口与七点;
(4)任务:定义常量,加载引导文件,不要放任何业务处理代码;
(5)代码:

2、引导文件

(1)文件名:start.php
(2)位置:thinkphp/start.php
(3)执行:

3、注册自动加载

(1)类方法:Loader::register();
(2)作用:将所有符合规范的类库(包括Composer依赖加载的第三方类库)自动加载;
(3)执行:

4、注册错误和异常机制

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

5、应用初始化

严格来讲,1-4步骤都可以算作应用初始化部分:

6、URL访问检测

URL必须是PATH_INFO格式才允许继续运行。
(1)PATH_INFO标准格式:
http(s)?/域名/index.php/模块名/控制器名/操作名/参数键值对
举例:http://tp5.com/index.php/index/user/add/id/10/name/peter
(2)PATH_INFO兼容格式:
http(s)?/域名/index.php?s=/模块名/控制器名/操作名&参数键值对
举例:http://tp5.com/index.php?s=index/user/add&id=10&name=peter

7、路由检测

(1)如果开启了url_route_on参数,则首先进行URL路由检测;
(2)一旦检测到匹配路由,根据路由规则会注册到相应的URL调度;
(3)TP5支持路由规则如下:
路由到模块/控制器/操作;(默认路由模式,如果关闭路由或者路由检测无效则执行该模式)
路由到外部重定向地址;
路由到控制器方法;
路由到闭包函数;
路由到类的方法;

8、分发请求

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

9、响应输出

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

10、应用结束

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


作者:zhongjunyao
来源:优快云
原文:https://blog.youkuaiyun.com/zjy_android_blog/article/details/85240671
版权声明:本文为博主原创文章,转载请附上博文链接!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值