次のルートを に追加しましたPhalcon\MVC\Router
:
$router = new Phalcon\Mvc\Router();
$router->removeExtraSlashes(true)
->setDefaultNamespace('My\Controllers')
->setDefaultModule('default')
->setDefaultController('index')
->setDefaultAction('index');
$router->add('/admin/:controller/:action/:params', [
'module' => 'admin',
'controller' => 1,
'action' => 2,
'params' => 3,
'namespace' => 'My\Admin\Controllers'
])->setName('admin_module');
以下のURLを扱っています。
/admin/foo/bar/baz
-うまくいきます。admin
モジュール、foo
コントローラー、bar
アクション、"baz"
パラメーターを取得します。/admin/foo/bar
-うまくいきます。admin
モジュール、foo
コントローラー、bar
アクションを取得します。/admin/foo
-一致しません。admin
モジュール、foo
コントローラー、index
アクションを取得することを期待しています。/admin
-一致しません。admin
モジュール、index
コントローラー、index
アクションを取得することを期待しています。
質問:
ルート セグメントをオプションにして、コントローラとアクション名の提供されたデフォルト値をデフォルトにする方法を教えてください。と の余分なルートを定義することは避けたいと思い/admin
ます/admin/:controller
。
ありがとうございました。