Phalcon路由器addGet错误

时间:2014-10-03 15:36:06

标签: php phalcon phalcon-routing

我正在使用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;
});

我非常感谢你的帮助,因为我坚持这个,我不能继续这个项目。

非常感谢你的时间。

1 个答案:

答案 0 :(得分:1)

不得在服务定义中调用

$router->handle();

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

即可

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