【问题标题】:Zend Action Helper in recommended mvc folder structure推荐的 mvc 文件夹结构中的 Zend Action Helper
【发布时间】:2012-06-25 19:41:28
【问题描述】:

Zend recommends 将 mvc 中的控制器动作助手放入 /application/controllers/helpers。这是使用这些的正确方法吗?

我必须在 bootstrap/application.ini 中实例化它们吗?

我的助手有一个直接操作,叫做Controllers_Helpers_Redirectlogin

感谢您的帮助,不胜感激!

【问题讨论】:

    标签: php model-view-controller zend-framework action helper


    【解决方案1】:

    遵循建议是好的。默认情况下,自动加载器似乎没有设置为默认查看推荐的路径,即使您引用的手册页指出:

    controllers/helpers/:这些目录将包含操作助手。 动作助手将被命名为“Controller_Helper_” 默认模块或其他模块中的“_Controller_Helper”。

    要绕过它,只需将其添加到您的 Bootstrap.php 文件中,向 HelperBroker 提示要查看的其他路径:

    // for default module in a non-modular structure
    Zend_Controller_Action_HelperBroker::addPath(
        APPLICATION_PATH . '/controllers/helpers',
        'Controller_Helper'
    );
    
    // for default module if using modular structure
    Zend_Controller_Action_HelperBroker::addPath(
        APPLICATION_PATH . '/modules/default/controllers/helpers',
        'Controller_Helper'
    );
    
    // for "Admin" module when using a modular structure
    Zend_Controller_Action_HelperBroker::addPath(
        APPLICATION_PATH . '/modules/admin/controllers/helpers',
        'Admin_Controller_Helper'
    );
    

    另外请注意,为了使自动加载器正常工作,您应该将您的类命名为Controller_Helper_RedirectLogin 而不是Controllers_Helpers_RedirectLogin。通常自动加载的类会去掉复数形式(例如 models/User.php 映射到 class Model_User)。

    编辑:您也可以告诉助手代理 application.ini 文件中的助手路径。示例:

    ; non-modular structure
    resources.frontController.actionHelperPaths.Controller_Helper = APPLICATION_PATH "/controllers/helpers"
    
    ; "admin" module in a modular structure
    resources.frontController.actionHelperPaths.Admin_Controller_Helper = APPLICATION_PATH "/modules/admin/controllers/helpers"
    

    【讨论】:

    • 谢谢,我也可以在 application.ini 中设置 helper broker 吗?
    • @Manuel 我编辑了答案并在 application.ini 中添加了一个示例
    猜你喜欢
    • 1970-01-01
    • 2021-12-08
    • 2011-09-04
    • 1970-01-01
    • 2013-09-07
    • 1970-01-01
    • 2019-05-20
    • 1970-01-01
    • 2011-01-22
    相关资源
    最近更新 更多