我创建了一个组件class Comp extends CApplicationComponent
并将其定义在main.php
目前我正在将价值传递给它的constructor
as
$comp = new Comp($value);
。
是否可以使用调用其构造函数Yii::app()->comp
?
在 Yii 1.1 中没有方便的方法来做到这一点 - 每个组件都应该是IApplicationComponent
在公共属性中配置的实例,并在init()
. 这就是为什么有这么多 Yii 扩展是通用 PHP 库的简单包装器 - 您需要为每个不遵循 Yii 定义组件约定的类创建这样的包装器。
一旦你在 config/main.php 中自动加载它,你就可以在应用程序(控制器或模块)的任何地方使用该组件
在您的 config.main 中,在数组“组件”中添加您想要的类,如下所示:
'clientScript' => [
'class' => "ext.ClientScript.ClientScriptManager"
],
其中“ ext ”是“受保护/扩展”,“ ClientScript ”是文件夹的名称,“ ClientScriptManager ”是类的名称。