Phalcon路由器addGet错误


Phalcon router addGet error

我正在使用PHP Phalcon框架开发一个网站,我真的遇到了路由器的问题,我开始了。

为了限制HTTP方法使您的路由匹配,我使用以下声明:

$router->addGet('/admin/paginas', array(
    'namespace' => 'Backend'Controllers',
    'controller' => 'pagina',
    'action' => 'list'
));

但由于以下错误而失败:

Unexpected value type: expected object implementing Phalcon'DiInterface, null given

我在带有add的同一services.php文件中定义了一些其他路由,它们没有问题,例如:

$router->add('/oportunidades-trabajo', array(
    'controller'    => 'page',
    'action'        => 'oportunidadesTrabajo'
));

工作非常好。我试过删除名称空间,更改控制器,使用short sintax,使用->via()代替addGet,但没有解决我的问题。

如果我删除这个路由声明,一切都很好。

以下是路由器的完整声明:

$di->set('router', function () {
$router = new Router(false);
$router->removeExtraSlashes(true);
# FRONT END
$router->add('/oportunidades-trabajo', array(
    'controller'    => 'page',
    'action'        => 'oportunidadesTrabajo'
));
# BACK END - Paginas
# list
$router->addGet('/admin/paginas', array(
    'namespace' => 'Backend'Controllers',
    'controller' => 'pagina',
    'action' => 'list'
));

# NOT FOUND
$router->notFound(array(
    'controller'    => 'page',
    'action'        => 'page404'
));
$router->handle();
return $router;
});

我将非常感谢你的帮助,因为我被困在这个问题上,我无法继续这个项目。

提前感谢您抽出时间。

$router->handle();不能在服务定义中调用。

只需删除$router->handle();

来源:http://forum.phalconphp.com/discussion/3623/strange-error-with-the-phalcon-router