我知道还有其他StackOverflow问题与我的问题重叠,但我没有在其中找到答案,所以我将在这里给出一些细节,希望有人可以提供帮助。
在我的ZF 1.11.10项目中,我在
中定义了类My_Form_Login()/application/forms/Login.php
我的application.ini有:
appnamespace = My
当我尝试从我的一个控制器创建一个新的My_Form_Login()时,我从PHP中发现了一个未找到类的致命错误。
现在,据我所知,我的Bootstrap中不需要以下内容,因为它已经是默认的资源类型:
$oResourceLoader->addResourceType('forms', "forms/", 'Form');
甚至
$oResourceLoader->addResourceType('forms', "forms/", 'My_Form');
但即使我确实添加了这个,我也会遇到致命的错误。求救!
答案 0 :(得分:1)
我昨天遇到了完全相同的问题,当谈到Zend时我是新手,所以我不确定我的回答是否正确。
对于我来说,我通过初始化我以前没有的自动加载器在index.php文件中修复了这个问题;
http://framework.zend.com/manual/en/zend.loader.autoloader.html
答案 1 :(得分:1)
将表单类放在项目的库文件夹(或包含路径中的任何位置)中(保留My_Form_Login类名称)
/application/...
/library/My/Form/Login.php
...
/public
在application.ini中添加
[production]
...
autoloaderNamespaces.my = "My_"
...
答案 2 :(得分:1)
事实证明,由于我的application.ini中缺少这些条目而发生错误:
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
即使我的Bootstrap为空,这些行也可以解决问题:大概是通过包含上述内容,这意味着运行Boostraps父构造函数,这似乎是将资源加载器付诸行动所必需的。