2010-03-23 35 views
0

我使用Module Autoloader自动加载资源(表单,Doctrine模型等)。 我根本不使用Zend_Db_Table。Zend Framework:禁用基本模型表的自动加载

当我加载任何学说模型, 例如MyModule_Model_Test, 它会尝试加载MyModule_Model_TestTable过,所以我得到了MyModule_Model_TestTable.php缺失的错误。

要解决这个问题,我可以创建空类MyModule_Model_TestTable类和 一切都按预期工作。
但我不需要这个文件。

奇怪的是,当我移动到MyModule_Model_TestTable/anyDirDeeper/MyModule_Model_TestTable更改其名称或内容,类是否正确装入太...

如何配置模块自动加载所以它不会需要这个...表类?

我有我的application.ini:

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 
resources.modules[] = 

和模块引导:

class MyModule_Bootstrap extends Zend_Application_Module_Bootstrap {} 

我的应用程序的结构与此类似:

/application/ 
    /modules/ 
     /mymodule/ 
      /models/ 
       /Db/ 
        *Mymodule_Model_Db_Test* 
      *Mymodule_Model_Test* 
+0

我知道有没有好的方式来加载模块的学说模型,但 在阅读了关于您尝试加载学说模型之后,您激励我将Doctrine Bootstrap代码移动到模块,老实说,我不知道如何回答你的问题:(我还没有测试它,但它听起来很有趣 – tawfekov 2010-03-24 10:34:33

+0

它工作时,我自动加载引导模型,但不在控制器操作... – takeshin 2010-03-24 12:13:04

回答

0

我认为这个问题是因为我使用了相同的模块名称和资源类型名称(默认注册)。

型号被命名为:Acl_Model_ModelnameAcl_命名空间与自动加载机注册。将模型命名空间更改为其他内容,并且可以工作。