ZF3 では、ルートからデフォルト パラメータを取得したいと考えています。コントローラーでこの方法でパラメーターを取得しています:
$params = $this->params()->fromRoute('crud');
私のURLは次のようになります:
1: somedomain/admin/color/add
2: somedomain/admin/color
1)では、変数を取得add
してい$params
ます。
2) 取得null
していますが、デフォルトを期待しています (この場合view
)
これは、ルーターの構成が悪いことに問題があると思います。
'admin' => [
'type' => Segment::class,
'options' => [
'route' => '/admin/:action',
'defaults' => [
'controller' => Controller\AdminController::class,
'action' => 'index',
],
],
'may_terminate' => true,
'child_routes' => [
'color' => [
'type' => Segment::class,
'options' => [
'route' => '/:crud',
'constraints' => [
'crud' => 'add|edit|delete|view',
],
'defaults' => [
'controller' => Controller\AdminController::class,
'crud' => 'view',
],
],
],
],
],