Yii 自动加载错误

Yii autoload error

我正在做一个项目,我从以前的几个团队那里继承了这个项目,因此所有工作的所有来龙去脉都超出了我的知识范围。但我正在尝试实现一个新的 class EmailListener,它位于 ../protected/controllers 下的文件 EmailListener.php 中。当尝试调用它时 class 我得到一个错误

include(EmailListener.php): 无法打开流:没有那个文件或目录

从第 421 行 yiiBase 自动加载 别的 第421话//这一行

我仔细查看了四周,唯一的建议是检查是否区分大小写。我有很多次。将整个路径复制到 class 名称中并删除 "EmailListener" 周围的所有内容以确保没有我没有看到的拼写错误。在命令 运行 调用它之前,我还尝试了我的文件的不同手动包含,这只会使整个网站崩溃。还有其他我可能做错的事情吗?我可以提供任何其他代码吗?

谢谢你的帮助,我正在拔头发。

首先,protected/controllers 目录只能用于控制器。您为其他事物创建的额外 classes 通常会进入 protected/components.

您的 protected/config/main.php(以及 protected/config/console.php,如果您正在处理控制台内容)应该有一个导入部分。默认情况下,导入的东西之一是 "application.components.*"。如果是这种情况,那么您在 protected/components 中输入的任何 class 都会在您请求时自动加载。