2015-04-15 61 views
1

如何訪問組件中組件的配置值?從Yii2中的組件獲取配置值

的config/main.php

return [ 
    ... 
    'components' => [ 
     ... 
     'mycomponent' => [ 
      'class' => 'common\components\MyComponent', 
      'myConfigValue' => 'someValue', 
     ], 
     ... 

如何訪問在組件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 
    } 
} 
+0

不能使用params用於在bublic屬性 – Alex

+0

你可以僅訪問組件的公共屬性http://www.yiiframework.com/doc-2.0/yii-base-component.html或者您需要擴展它並添加您的屬性和方法。 t – scaisEdge

+0

請問您可以添加'common \ components \ MyComponent'的代碼嗎? – deacs

回答

0

this guide,你可以創建自己的組件時覆蓋__construct()方法。

然後,您可以設置的屬性值如下:

public function __construct($config = []) 
{ 
    parent::__construct($config); 
} 

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

+0

我會在稍後嘗試。謝謝 –

+0

@Jørgen是否爲你工作?如果是這樣,請接受答案:) – deacs