Yii将参数传递给小部件

Yii将参数传递给小部件,yii,yii-components,Yii,Yii Components,对不起,如果我使用了错误的关键字。可能是我没有得到足够的信息,由于错误的关键字 我们通过以下方式在Yii中创建小部件: class streamList extends CWidget { //do some stuff } 此外,我们在任何地方都可以使用这个小部件 $this->widget("application.components.widget.streamList"); 我们如何编写小部件,使其接受参数作为 我在谷歌上搜索了一下,但没有找到答案。请帮忙,提前谢谢 编辑日

对不起,如果我使用了错误的关键字。可能是我没有得到足够的信息,由于错误的关键字

我们通过以下方式在Yii中创建小部件:

class streamList extends CWidget {
  //do some stuff
}
此外,我们在任何地方都可以使用这个小部件

$this->widget("application.components.widget.streamList");
我们如何编写小部件,使其接受参数作为

我在谷歌上搜索了一下,但没有找到答案。请帮忙,提前谢谢

编辑日志: 另外,我们如何将默认参数值定义为“titile”?我尝试了
public$title=Shk::getTitle()
,但没有成功。

使用

class StreamList extends CWidget {
    //do some stuff
    public $title;
}
任何属性都可以用默认值初始化,并由

$this->widget("application.components.widget.StreamList",array('title'=>'Posts',.....)
编辑

不能使用函数初始化类属性。给出了解释。一个选项是检查是否设置了
$title
,如果未设置,则在
init()
方法中将其设置为
Shk::getTitle()
,如

public function init(){
    ....
    if(!isset($this->title) || !$this->title)
        $this->title=Shk::getTitle();
    ....
}

为了保持一致性,最好将类名大写。

文件
Shk
是否自动加载?错误不在类中,而在初始化中。因此,我编辑了答案。
public function init(){
    ....
    if(!isset($this->title) || !$this->title)
        $this->title=Shk::getTitle();
    ....
}