我正在开发一个Zend PHP项目,我正在尝试将代码分离到自定义库中,例如“Custom”。目前这主要包括一些自定义形式。
我的文件夹结构如下。
/project root
/Library
/Custom
/Forms
/Account
/Login.php
Base.php
/Zend
...
Login.php和Base.php具有以下命名约定:
class Custom_Form_Account_Login extends Custom_Form_Base
{
}
class Custom_Form_Base extends Zend_Form
{
}
最后,我将以下行放在application.ini文件中
autoloaderNamespaces[] = "Custom_"
然后创建表单,我在控制器中有这个...
$form = new Custom_Form_Account_Login();
然而,当我加载页面时,我收到错误,告诉我无法找到Custom_Form_Account_Login。显示包含路径,我可以看到“/ project root / Library”在那里,所以我对为什么无法找到类感到有点困惑。
我在application.ini中尝试了许多不同的行,并且在更改后重新启动了服务器,但错误仍然存在。
我尝试的其他行包括:
autoloadernamespaces[] = "Custom_" //All lowercase
autoloaderNamespaces[] = "Custom" //Without the underscore
autoloaderNamespaces.custom = "Custom_"
autoloaderNamespaces.0 = "Custom_"
如上所述我使用的是Zend 1.12。我最好在.ini文件中配置它。
答案 0 :(得分:4)
您的文件夹名称为Forms
(复数),但类名使用Form
(单数)。在您描述的上下文中,这些必须相同。 Form
(单数)可能更好,因为它反映了ZF结构。