0

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

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

$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;
});

我将非常感谢您的帮助,因为我坚持这一点,我无法继续该项目。

非常感谢您抽出宝贵时间。

4

1 回答 1

1

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

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

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

于 2014-10-22T10:12:18.743 回答