我正在尝试在Yii上创建一个新组件。文件名是ChatManager.php,因此是第一类(当然没有'.php'),并扩展了CApplicationComponent。但我有一个问题。当我从终端运行它时,它给了我这个错误:
Class 'CApplicationComponent' not found in /../
所以我在config / main.php中添加了以下内容:
'preload'=>array('log','ChatManager'),
但仍然无法正常工作。我认为问题是这个类还管理WebSockets,当我运行它时,我的应用程序没有实例化。是真的?还是有另一种问题?
答案 0 :(得分:0)
从终端或命令行运行Yii时,它使用一组不同的配置文件(默认情况下)。所以它不会使用main.php
(除非你告诉它)。您应该为Web和控制台环境配置不同的配置文件。
正在使用的配置文件将在/protected/yiic.php
或您的自定义控制台索引文件中定义。
默认配置文件为console.php
,因此请查看protected/config/console.php
并确保您需要的设置 - 尤其是通过import => array(...)
部分导入任何其他类
您可能还需要在配置文件的components => array(...)
部分中定义组件,如下所示:
'components' => array(
// All the existing components...
'ChatManager' => array(
'class' => 'application.components.ChatManager',
),
),