gpt4 book ai didi

php - 将 Zend Controller 与数字操作一起使用

转载 作者:行者123 更新时间:2023-12-04 06:21:28 25 4
gpt4 key购买 nike

通常如果我想创建一个页面 /user/profile我会创建函数 profileAction()在用户 Controller 中。
现在,如果我想创建一个名为 /error/404 的页面我无法创建 404Action()因为语法错误 unexpected '404', expecting 'identifier'有没有办法用这样的数字创建页面?

最佳答案

一种方法是定义自定义路由,如下所示:

resources.routes.error.route = "/error/:id"
resources.routes.error.type = "Zend_Controller_Router_Route"
resources.routes.error.defaults.module = default
resources.routes.error.defaults.controller = error
resources.routes.error.defaults.action = index
resources.routes.error.reqs.id = "\d+"

比在您的 indexAction 中,您将转发到特定错误代码的操作。例如,对于 404 错误:
class ErrorController extends Zend_Controller_Action {


public function indexAction() {
$errorId = $this->_getParam('id', null);
return $this->_forward("error$errorId" );
}

public function error404Action() {
echo "error 404";
}
}

这是一个非常简单的例子,但它应该足以说明它是如何完成的。

另一种方式,而不是转发,将只是呈现适当的 View 脚本,例如
class ErrorController extends Zend_Controller_Action {


public function indexAction() {
$errorId = $this->_getParam('id', null);
// e.g. redner error/error404.phtml
$this->_helper->viewRenderer('error$errorId');
}
}

关于php - 将 Zend Controller 与数字操作一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6501495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com