Phalcon PHP:分派器的“转发”功能不起作用

时间:2018-08-09 12:19:44

标签: php model-view-controller php-7 phalcon phalcon-routing

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 } } 文件。

我在做什么错或忘记了什么?

在此先感谢您的帮助!

2 个答案:

答案 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;
}); 

我希望它能起作用!