[英]Phalcon router addGet error
我正在使用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
我在具有add的同一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;
});
非常感謝您的幫助,因為我堅持這樣做,因此無法繼續進行該項目。
非常感謝您抽出寶貴的時間。
$router->handle();
不得在服務定義中調用。
只需刪除$router->handle();
資料來源: http : //forum.phalconphp.com/discussion/3623/strange-error-with-the-phalcon-router
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.