在reentryAction
的{{1}}内,如果要成功检查post参数的有效性,我想转发到CustomerclientController
中。
不幸的是,前锋不起作用。在调试时,我确定将再次调用reentryAction方法,而不是indexAction。
我在indexAction
中注册了调度程序,如下所示:
services.php
CustomerclientController:
$di->setShared('dispatcher', function() use ($eventsManager) {
$dispatcher = new MvcDispatcher();
// Bind the eventsManager to the view component
$dispatcher->setEventsManager($eventsManager);
return $dispatcher;
});
我没有定义特殊的路线,也不使用class CustomerclientController extends Controller {
public function reentryAction($hash) {
// ... a lot of code
if ($this->request->isPost()) {
// ... a lot of code
if ($valid) {
$this->dispatcher->forward([
"customerclient",
"index"
]);
return;
}
}
}
public function indexAction() {
//Does something wise
}
}
文件。
我在做什么错或忘记了什么?
在此先感谢您的帮助!
答案 0 :(得分:0)
首先,尝试返回dispatcher-> forward()。其次,也许将键写入数组中。
if ($valid)
return $this->dispatcher->forward([
"controller" => "customerclient",
"action" => "index"
]);
希望有帮助!
答案 1 :(得分:0)
确定要使用MvcDispatcher吗? 我检查了项目,正在使用Dispatcher
$di->set('dispatcher', function() use ($di) {
$dispatcher = new Dispatcher;
$dispatcher->setEventsManager($eventsManager);
return $dispatcher;
});
我希望它能起作用!