Zend2 像枚举一样路由约束
Zend2 routes constraints like enum
我想对传递给我项目路由的变量设置类似枚举的约束
例如变量 routeVar
只能是 optin 或 optout
所以假设我想要一个像 http://subdomain.exampledomain.com/route/ 这样的 url ,它只能得到以下两种形式之一
- http://subdomain.exampledomain.com/route/optin
- http://subdomain.exampledomain.com/route/退出
我放在一起的路由配置如下所示,我已经尝试了 [optin|optout]
和 [optin|optout]+
正则表达式,但没有成功
'route-name' => [
'type' => 'Segment',
'options' => [
'route' => '/route/:routeVar',
'constraints' => [
'routeVar' => '[optin|optout]',
],
'defaults' => [
'controller' => someController::class,
'action' => 'someAction',
],
],
'may_terminate' => true,
],
请注意:这是一个子路由,它可以很好地处理预期的控制器和操作。我只是未能应用我使用约束描述的限制:(
您要查找的正则表达式是
(optin|optout)
,[]
语法用于字符组。
实际上甚至可能
^(optin|optout)$
确保值中没有多余的字符。
我想对传递给我项目路由的变量设置类似枚举的约束
例如变量 routeVar
只能是 optin 或 optout
所以假设我想要一个像 http://subdomain.exampledomain.com/route/ 这样的 url ,它只能得到以下两种形式之一
- http://subdomain.exampledomain.com/route/optin
- http://subdomain.exampledomain.com/route/退出
我放在一起的路由配置如下所示,我已经尝试了 [optin|optout]
和 [optin|optout]+
正则表达式,但没有成功
'route-name' => [
'type' => 'Segment',
'options' => [
'route' => '/route/:routeVar',
'constraints' => [
'routeVar' => '[optin|optout]',
],
'defaults' => [
'controller' => someController::class,
'action' => 'someAction',
],
],
'may_terminate' => true,
],
请注意:这是一个子路由,它可以很好地处理预期的控制器和操作。我只是未能应用我使用约束描述的限制:(
您要查找的正则表达式是
(optin|optout)
,[]
语法用于字符组。
实际上甚至可能
^(optin|optout)$
确保值中没有多余的字符。