次のルートを に追加しました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。
ありがとうございました。