ZF2ルーティングでは、すべてのパブリックアクションに一致する一般的な親ルートを持ち、特定のエリアをカスタムの子ルートとコントローラで上書きできますか?私は自分のニーズに合った任意の構成を考え出すことができなかった子と親が一致する場合、ZF2は子ルートを使用する
/parent => matches parent controller
/parent/edit => matches parent controller editAction
/parent/childsection => matches child controller
/parent/childsection/edit => matches child controller editAction
:私は何をしたい
。設定後、私はうまくいくと思ったが、ZF2ルートは親ルートで終わるので、childsection
もアクションになる可能性がある。
'parent' => array(
'type' => 'Segment',
'may_terminate' => true,
'options' => array(
'route' => '/parent[[/:action][/:id]]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Application\Controller\Parent',
'action' => 'index',
),
),
'child_routes' => array(
'child' => array(
'type' => 'Segment',
'options' => array(
'route' => '/childsection/:action[/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Application\Controller\Child',
),
),
),
),
),
親のリテラルルートと2つの子ルート(1つはジェネリック、1つは子セクションに固有)です。しかしこの場合、私はリダイレクトやURLを生成する必要があります。->toRoute('parent/default'...)
他に優雅なソリューションがありますか?これは簡単ではありませんか?
あなたは正確に人々にこれを行うように言う理由を説明できますか? 私は新しいアクションを追加したいと思ったら、私はそれらの表現が好きです。そして、 '... Action'で終わるパブリックメソッドを追加すると、設定を掘り下げずに自動的にアクセスできるようにしたいのです。 コメントをいただきありがとうございますが、これは私の現在のアプローチに代わるものです。 –