【发布时间】:2009-08-13 18:16:38
【问题描述】:
我刚开始使用 zend 框架 1.9.1 进行冒险,但遇到了一些问题。我想删除默认路由以避免在不同的 URL 上显示相同的内容 - 为了实现它,我在引导程序中编写了自定义函数
<?php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initMyRouter()
{
$this->bootstrap('router')
->getContainer()
->frontcontroller
->getRouter()
->removeDefaultRoutes();
}
}
但在那之后,出现了一个问题——每个无效的 URL 都到达默认控制器而不是错误控制器。为了解决这个问题,我把 resources.frontController.defaultcontrollername = "错误" resources.frontController.defaultaction = "投掷" 在 application.ini 和
public function throwAction()
{
throw new Zend_Controller_Dispatcher_Exception;
}
在 ErrorController 中解决这个问题,但我的问题是......我做错了什么吗?
第二个问题是我只需要生成绝对 URL,因此我在 application.ini 中添加了 resources.frontController.baseurl = "http://mydomain.com/" 但之后每个 URL 都指向默认控制器。如何解决?
第三个(也是最后一个)是...如何在我的操作中调用 Zend_Controller_Action_Helper_Url::url?我尝试了类似 $this->_helper->url(array(), 'frontpage') 但它调用 Zend_Controller_Action_Helper_Url::direct
【问题讨论】:
标签: php zend-framework