私はこの問題に苦しんでいて、それを乗り越えることができません。
私が達成したいのは、次のようなルートです: /rolepermission[/:roleid]/permissions[/:permissionid][/action/:action]
現在、私は次のようなものを思いつきました:
'rolepermission' => array(
'type' => 'literal',
'options' => array(
'route' => '/rolepermission',
'constraints' => array(),
'defaults' => array(
'controller' => 'My\Controller\RolePermission',
'action' => 'index',
),
),
'may_terminate' => true,
'child_routes' => array(
'rolepermissionroleid' => array(
'type' => 'segment',
'options' => array(
'route' => '/[:roleid]',
'constraints' => array(
'roleid' => '[a-zA-Z][a-zA-Z0-9_-]*',
),
'defaults' => array(
'action' => 'detail',
),
),
'may_terminate' => true,
'child_routes' => array(
'rolepermissionpermissions' => array(
'type' => 'literal',
'options' => array(
'route' => '/permissions',
'constraints' => array(),
'defaults' => array(
'action' => 'index'
),
),
'may_terminate' => true,
'child_routes' => array(
'rolepermissionpermissionid' => array(
'type' => 'segment',
'options' => array(
'route' => '/[:permissionid]',
'constraints' => array(
'permissionid' => '[a-zA-Z][a-zA-Z0-9_-]*',
),
'defaults' => array(
),
),
'may_terminate' => true,
'child_routes' => array(
'rolepermissionaction' => array(
'type' => 'segment',
'options' => array(
'route' => '/action/[:action]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
),
'defaults' => array(
'action' => 'index'
),
),
'may_terminate' => false,
'child_routes' => array(),
),
),
),
),
),
),
),
),
),
/rolepermission/permissions にルーティングするとき、:roleid の代わりに常に「権限」を取得します。ここでは、roleid を渡さないため、何も置き換えられないことを期待しています。私は何を間違っていますか?
前もってありがとう、乾杯