bootstrap启动阶段时需要运行的组件
这个属性很实用,它允许你用数组指定启动阶段 bootstrapping process 需要运行的组件。
属性中的每个组件需要指定以下一项:
- 应用 组件 ID.
- 模块 ID.
- 类名.
- 配置数组.
- 创建并返回一个组件的无名称函数.
例如:
[
'bootstrap' => [
// 应用组件ID或模块ID
'demo',
// 类名
'app\components\Profiler',
// 配置数组
[
'class' => 'app\components\Profiler',
'level' => 3,
],
// 匿名函数
function () {
return new app\components\Profiler();
}
],
]
信息: 如果模块 ID 和应用组件 ID 同名,优先使用应用组件 ID, 如果你想用模块 ID, 可以使用如下无名称函数返回模块 ID。
[
function () {
return Yii::$app->getModule('user');
},
]
复制代码
在启动阶段,每个组件都会实例化。如果组件类实现接口 yii\base\BootstrapInterface,也会调用 bootstrap() 方法。
组件的调用方法:\Yii::$app->componentID
注意: 启动太多的组件会降低系统性能,因为每次请求都需要重新运行启动组件, 因此谨慎配置启动组件。