【问题标题】:How to set the default module in zend framework 1如何在zend框架1中设置默认模块
【发布时间】:2016-05-18 18:12:57
【问题描述】:

如何在zend 1.*中设置默认模块?

我在 appilication.ini 中的代码

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.defaultModule = "agency"

错误:

致命错误:未捕获的异常“Zend_Application_Bootstrap_Exception” 带有消息'没有在前面注册的默认控制器目录 控制器'在 D:\Hicham2016\rentcar\vendor\zendframework\zendframework1\library\Zend\Application\Bootstrap\Bootstrap.php 在第 99 行

【问题讨论】:

  • 我会打开 D:\Hicham2016\rentcar\vendor\zendframework\zendframework1\library\Zend\Application\Bootstrap\Bootstrap.php 并查看源代码以查看它的位置。更好的是——不知道这是否适合你——忘记 ZF1 并改用 ZF2。特别是如果这是一个新项目。

标签: zend-framework


【解决方案1】:

第一次尝试

resources.frontcontroller.controllerDirectory = APPLICATION_PATH "/controllers"

也许你还需要设置:

resources.frontController.controllerDirectory = APPLICATION_PATH "/modules/agency/controllers"
resources.frontController.defaultControllerName = "default"
resources.frontController.defaultAction = "home"
  • “defaultControllerName”对应DefaultController.php
  • “defaultAction”到 homeAction()。

如果这不起作用,请尝试覆盖代理模块引导程序的构造函数

public function __construct($application)
{
    parent::__construct($application);
    $frontController = Zend_Controller_Front::getInstance();
    $frontController->addControllerDirectory(__DIR__ . '/controllers', 'agency');
}

参考

【讨论】:

    猜你喜欢
    • 2012-04-23
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    • 2012-05-12
    • 2021-05-26
    相关资源
    最近更新 更多