【问题标题】:How to use a custom Zend Framework form in a directory inside application如何在应用程序内的目录中使用自定义 Zend Framework 表单
【发布时间】:2011-06-07 01:31:03
【问题描述】:

我的应用程序目录中有一个“表单”目录,其中包含自定义表单 php 文件。在我的 application.ini 中,appnamespace 是“Application”。我尝试使用的表单名称是 BetaSignup.php。类是 Application_Form_BetaSignup。

在我的控制器中,我尝试执行 $form = new Application_Form_BetaSignup,但我收到一条错误消息:

致命错误:未找到“Application_Form_BetaSignup”类。

关于如何解决的想法?

【问题讨论】:

    标签: php zend-framework zend-form


    【解决方案1】:

    如果您使用配置的appnamespace 指令(默认为“应用程序”)正确命名表单类,则可以为表单类使用典型的application/forms 目录。请注意,目录名是小写的“forms”。

    例如,假设您有一个注册表单“Registration”。在 application/forms/Registration.php 创建包含类的文件(注意区分大小写)

    class Application_Form_Registration extends Zend_Form
    {
        // etc
    

    当您在控制器中实例化它时,资源自动加载器将能够找到您的表单,例如

    $form = new Application_Form_Registration(); // will be auto-loaded
    

    【讨论】:

    • 我可以有一个驼峰式两个单词的表单名称,例如 Application_Form_BetaSignup 吗?
    • @tubaguy 可以,文件名和最后一部分一样,即BetaSignup.php
    • 我已根据您的更改进行了更新,但出现错误。我用新信息更新了我的问题。
    • @tubaguy 您是否将您的Bootstrap.php 文件移回application 目录?该文件的位置定义了资源加载器的根目录。参考stackoverflow.com/q/6247605/283366
    • 不。现在做了,一切都变得更好了!
    猜你喜欢
    • 2010-10-08
    • 1970-01-01
    • 2012-09-15
    • 2012-03-11
    • 1970-01-01
    • 1970-01-01
    • 2012-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多