0

PHP Phalcon Framework を使用して Web サイトを開発していますが、ルーターの問題で本当に困っています。

ルートが一致するように 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'
));

完全に正常に動作します。名前空間の削除、コントローラーの変更、短いシンタックスの使用、addGet の代わりに ->via() の使用を試みましたが、何も解決しません。

このルート宣言を削除すると、すべて正常に動作します。

ルーターの完全な宣言は次のとおりです。

$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 に答える