我有一个用Zend Framework 1.10.2创建的项目。
我通常将application / models目录用于我创建的新模型文件,并且自动加载很好,例如 - My_Model_SampleClass位于application / models / SampleClass.php。
但是,我刚刚创建了一个自定义的Exception类,它不适合应用程序目录中的models目录(至少我看到它的方式,我可能在逻辑上是错误的),所以我创建了它根“库”目录,但我似乎无法找到正确的类名+文件名使用,因此自动加载将正确完成。
顺便说一下,我为我使用的所有自定义类使用命名空间,让我们假设它是“我的”。
答案 0 :(得分:1)
如果你使用application.ini试试这个
autoloader.namespace = My
autoloader.resourceTypes.exceptions.path = "library"
autoloader.resourceTypes.exceptions.namespace = "Model"
答案 1 :(得分:1)
class My_Exception extends Zend_Exception {}
保存在:
/library/My/Exception.php
app.ini中的:
autoloaderNamespaces[] = "My_"
或查看resourceLoader
:
// in Bootstrap.php
Zend_Debug::dump($this->_resourceLoader);
你可以这样使用它:
$this->_resourceLoader->addResourceType('exception', 'exceptions', 'My_');