我正在使用PHP Phalcon Framework开发一个网站,我真的陷入了路由器的问题,我在这里。
为了限制路由匹配的HTTP方法,我使用此声明:
$router->addGet('/admin/paginas', array(
'namespace' => 'Backend\Controllers',
'controller' => 'pagina',
'action' => 'list'
));
但它失败并出现以下错误:
Unexpected value type: expected object implementing Phalcon\DiInterface, null given
我在相同的services.php文件中定义了一些其他路由,并且没有问题,例如:
$router->add('/oportunidades-trabajo', array(
'controller' => 'page',
'action' => 'oportunidadesTrabajo'
));
完美无缺。我尝试删除命名空间,更改控制器,使用短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;
});
我非常感谢你的帮助,因为我坚持这个,我不能继续这个项目。
非常感谢你的时间。
答案 0 :(得分:1)
$router->handle();
。
只需删除$router->handle();
来源:http://forum.phalconphp.com/discussion/3623/strange-error-with-the-phalcon-router