Yii2 在应用程序引导属性下列出组件
我正在处理一个模块扩展,有一个名为的官方组件,我正在尝试配置它 文档说我需要在Yii2 在应用程序引导属性下列出组件,yii2,Yii2,我正在处理一个模块扩展,有一个名为的官方组件,我正在尝试配置它 文档说我需要在components和bootstrap 将组件添加到应用程序配置中 'jsUrlManager' => [ 'class' => \dmirogin\js\urlmanager\JsUrlManager::class, ], 向引导添加组件 'bootstrap' => ['jsUrlManager'], 这意味着我的配置将如下所示 [ 'components'=>
components
和bootstrap
'jsUrlManager' => [
'class' => \dmirogin\js\urlmanager\JsUrlManager::class,
],
'bootstrap' => ['jsUrlManager'],
[
'components'=>[
//...other components
'jsUrlManager' => [
'class' => \dmirogin\js\urlmanager\JsUrlManager::class,
],
//...other components
],
'bootstrap'=>['jsUrlManager']
]
这很简单,但是如果我在下面的模块下列出组件呢
[
'modules' => [
'idows' => [
'class' => 'path\to\Module',
'components' => [
'jsUrlManager' => [
'class' => \dmirogin\js\urlmanager\JsUrlManager::class,
],
],
],
],
'bootstrap' => [
'jsUrlManager',
],
]
当我像上面那样实现它时,它会抛出下面这样的异常
[
'modules' => [
'idows' => [
'class' => 'path\to\Module',
'components' => [
'jsUrlManager' => [
'class' => \dmirogin\js\urlmanager\JsUrlManager::class,
],
],
],
],
'bootstrap' => [
'jsUrlManager',
],
]
无效配置–yii\base\InvalidConfigException
未知的引导组件ID:jsUrlManager
那么,当组件ID附加在模块的
组件部分下时,如何在引导属性下列出组件ID,而不是默认的组件您应该使用闭包来引导组件:
'bootstrap' => [
'jsUrlManager' => function ($app) {
return $app->getModule('idows')->get('jsUrlManager');
},
],