从 Yii2 组件的配置中获取值

Jør*_*gen 5 yii2

如何访问组件中组件的配置值?

配置/main.php

return [
    ...
    'components' => [
        ...
        'mycomponent' => [
            'class' => 'common\components\MyComponent',
            'myConfigValue' => 'someValue',
        ],
        ...
Run Code Online (Sandbox Code Playgroud)

我如何someValue在组件中访问?

我试图public $someValue在类中声明变量,但它不会自动填充。

编辑:

这是我的组件:

namespace common\components;

use Yii;
use yii\base\Component;

class myComponent extends Component
{
    public function init()
    {
        parent::init();
    }

    public $someValue;

    public function getSomeValue()
    {
        return $someValue
    }
}
Run Code Online (Sandbox Code Playgroud)

dea*_*acs 0

根据本指南__construct(),您可以在创建自己的组件时重写该方法。

然后您可以按如下方式设置属性值:

public function __construct($config = [])
{
    parent::__construct($config);
}
Run Code Online (Sandbox Code Playgroud)

另外,在您的方法中,getSomeValue()您需要返回$this->someValue而不是$someValue