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

注意: 启动太多的组件会降低系统性能,因为每次请求都需要重新运行启动组件, 因此谨慎配置启动组件。

posted on 2020-04-03 16:05  追风的浪子  阅读(223)  评论(0编辑  收藏  举报

导航