Q:

Yii autoload error

I am working on a project, that I have inherited from several previous teams, thus all the ins and outs of all the workings is beyond my knowledge.  But I'm trying to implement a new class EmailListener and it is in the file EmailListener.php under ../protected/controllers.  When Try to call this class I get an error
include(EmailListener.php): failed to open stream: No such file or directory
from within yiiBase autoload line 421 
else
421                     include($className.'.php'); //this line 
I have looked around extensively and the only suggestion is to check for case sensitivity.  Which I have, multiple times.  To the extent of copying the entire path into the class name and deleting everything around "EmailListener" to ensure that there are no typos that I am not seeing.   I have also tried different manual includes of my file before the command is run to call it and that just crashes the whole website.  Are there any other things I could be doing wrong?  Is there any other code I can present? 
Thank you for any help, I'm pulling my hair out.

A:

First off, the protected/controllers directory should only be used for controllers. Extra classes you create for other things generally go in protected/components.
Your protected/config/main.php (and protected/config/console.php if you're doing console stuff) should have an import section. By default, one of the things imported is "application.components.*". If that's the case, than any  class you put in protected/components will auto-load when you ask for it.

