在Yii上创建新组件给我一个错误

时间:2014-03-09 07:39:41

标签: class yii websocket components

我正在尝试在Yii上创建一个新组件。文件名是ChatManager.php,因此是第一类(当然没有'.php'),并扩展了CApplicationComponent。但我有一个问题。当我从终端运行它时,它给了我这个错误:

Class 'CApplicationComponent' not found in /../

所以我在config / main.php中添加了以下内容:

'preload'=>array('log','ChatManager'),

但仍然无法正常工作。我认为问题是这个类还管理WebSockets,当我运行它时,我的应用程序没有实例化。是真的?还是有另一种问题?

1 个答案:

答案 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',
    ),

),