如何从主配置传递扩展 class 的额外参数?
How to pass extra parameters on extension's class from main config?
我有一个第三方 class(在 extension/MYClass 文件夹中),它的构造函数需要两个必要参数。
class MyClass {
function __construct($param1, $param2, $param3 = false) {
$this->param1 = $param1;
$this->param2 = $param2;
$this->param3 = $param3;
}
public static function send(){
---------
---------
}
}
当我像这样通过主配置文件访问 class 时。那么我应该如何在 class 上传递这些参数?
'components'=>array(
'myclass' => array(
'class' => 'ext.MyClass.MyClass',
),
),
这样我就可以方便的访问像Yii::app()->myclass->send();
这样的功能
首先你应该让 MyClass 扩展 CApplicationComponent
如果你还没有这样做的话。
那么只需向配置提供 key => value
对参数即可。
'components'=>array(
'myclass' => array(
'class' => 'ext.MyClass.MyClass',
'myParam' => 'test'
),
),
并正确设置 class。
class MyClass extends CApplicationComponent {
public $myParam
public function send(){
echo $this->myParam;
}
}
以上将为调用 Yii::app()->myclass->send()
回显 test
我有一个第三方 class(在 extension/MYClass 文件夹中),它的构造函数需要两个必要参数。
class MyClass {
function __construct($param1, $param2, $param3 = false) {
$this->param1 = $param1;
$this->param2 = $param2;
$this->param3 = $param3;
}
public static function send(){
---------
---------
}
}
当我像这样通过主配置文件访问 class 时。那么我应该如何在 class 上传递这些参数?
'components'=>array(
'myclass' => array(
'class' => 'ext.MyClass.MyClass',
),
),
这样我就可以方便的访问像Yii::app()->myclass->send();
首先你应该让 MyClass 扩展 CApplicationComponent
如果你还没有这样做的话。
那么只需向配置提供 key => value
对参数即可。
'components'=>array(
'myclass' => array(
'class' => 'ext.MyClass.MyClass',
'myParam' => 'test'
),
),
并正确设置 class。
class MyClass extends CApplicationComponent {
public $myParam
public function send(){
echo $this->myParam;
}
}
以上将为调用 Yii::app()->myclass->send()
test