0 关注者

引导

引导指的是在应用程序开始解析和处理传入请求之前准备环境的过程。引导在两个地方完成:入口脚本应用程序

入口脚本 中,为不同的库注册类自动加载器。这包括通过其 autoload.php 文件的 Composer 自动加载器,以及通过其 Yii 类文件的 Yii 自动加载器。然后入口脚本加载应用程序 配置 并创建一个 应用程序 实例。

在应用程序的构造函数中,完成以下引导工作

  1. preInit() 被调用,它配置一些高优先级的应用程序属性,例如 basePath
  2. 注册 错误处理程序
  3. 使用给定的应用程序配置初始化应用程序属性。
  4. init() 被调用,它反过来调用 bootstrap() 来运行引导组件。

由于引导工作必须在处理每个请求之前完成,因此保持此过程轻量级并尽可能优化它非常重要。

尽量不要注册太多引导组件。只有当引导组件想要参与请求处理的整个生命周期时才需要它。例如,如果一个模块需要注册额外的 URL 解析规则,它应该列在 bootstrap 属性 中,以便新的 URL 规则在用于解析请求之前生效。

在生产模式下,启用字节码缓存,例如 PHP OPcacheAPC,以最大限度地减少包含和解析 PHP 文件所需的时间。

一些大型应用程序具有非常复杂的应用程序 配置,这些配置被划分为许多较小的配置文件。如果是这种情况,请考虑将整个配置数组缓存起来,并在入口脚本中创建应用程序实例之前直接从缓存中加载它。

发现错别字或您认为此页面需要改进?
在 github 上编辑它 !