3

我正在开发一个 Zend PHP 项目,我正在尝试将代码分离到一个自定义库中,例如“自定义”。目前这主要由一些自定义表格组成。

我的文件夹结构如下。

/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 文件中配置它。

4

1 回答 1

5

您的文件夹名称是Forms(复数),但类名使用Form(单数)。在您描述的上下文中,这些必须相同。Form(单数)可能更好,因为它反映了 ZF 结构。

于 2013-01-06T14:07:50.597 回答