本篇内容我们对ThinkPHP 5.0 的应用请求的生命周期做大致的介绍,以便于开发者了解整
个执行流程。
1、入口文件
用户发起的请求都会经过应用的入口文件,通常是 public/index.php 文件。当然,你
也可以更改或者增加新的入口文件。
通常入口文件的代码都比较简单,一个普通的入口文件代码如下:
// 应用入口文件
// 定义项目路径
define('APP_PATH', __DIR__ . '/../application// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';
一般入口文件以定义一些常量为主,支持的常量请参考后续的内容或者附录部分。
通常,我们不建议在应用入口文件中加入过多的代码,尤其是和业务逻辑相关的代码。
2、引导文件
接下来就是执行框架的引导文件, start.php 文件就是系统默认的一个引导文件。在引导
文件中,会依次执行下面操作:
加载系统常量定义;
加载环境变量定义文件;
注册自动加载机制;
注册错误和异常处理机制;
加载惯例配置文件;
执行应用;
start.php 引导文件首先会调用 base.php 基础引导文件,某些特殊需求下面可能直接
在入口文件中引入基础引导文件。
3、注册自动加载
系统会调用 Loader::register() 方法注册自动加载,在这一步完成后,所有符合规范
的类库(包括 Composer 依赖加载的第三方类库)都将自动加载。
系统的自动加载由下面主要部分组成: