Я обычно создаю маршруты в manifest.php для своих модулей следующим образом:
'pay_general' => [
'route' => 'pgateway/:controller/:action/*',
'defaults' => [
'module' => 'pgateway',
'controller' => 'pay',
'action' => 'index',
],
'reqs' => [
'controller' => '\D+',
'action' => '\D+',
],
],
Это кажется простым.Однако у меня есть несколько вопросов по этому поводу.Во-первых, для чего нужен раздел reqs
?Во-вторых, что означает \D+
в разделе reqs?
Помимо этого, я также вижу различные маршруты в модулях SocialEngine, например, маршруты, в которых формат module/:action
используется следующим образом:
'music_general' => array(
'route' => 'music/:action/*',
'defaults' => array(
'module' => 'music',
'controller' => 'index',
'action' => 'browse',
),
'reqs' => array(
'action' => '(index|browse|manage|create)',
),
),
Здесь вы видите, что форма маршрута отличается.Просто module/action
!Хорошо!но что значит "action"=>"(index|browse|manage|create)"
?Принимает ли этот маршрут несколько действий, т. Е. Индексировать, просматривать, управлять, создавать, но по умолчанию используется просмотр?
Значит ли это, что все действия будут следовать одной и той же структуре маршрута?
Я ищу исчерпывающий ответ, который подробно описывает, как работают маршруты SocialEngine.