首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Zend Framework 2中的路由选择

Zend Framework 2中的路由选择
EN

Stack Overflow用户
提问于 2017-08-07 12:51:18
回答 2查看 49关注 0票数 0

不久,我就开始使用2,并试图为具有这样规则的产品编写一条路线:

/段塞-测试

这个规则的示例如下所示:

/冷冻机-外形良好-测试12345cv

我试着用REGEX:

代码语言:javascript
运行
复制
'details' => array(
            'type' => 'Zend\Mvc\Router\Http\Regex',
            'options' => array(
                'route' => '(?<slug>[a-zA-Z0-9_-]+)-test(?<id>[0-9]+)(?<sufix>(av|ai|cv|ci|svb|sib|svc|sic|svi|sii|tv|ti))',
                'defaults' => array(
                    '__NAMESPACE__' => 'Application\Controller',
                    'controller' => 'List',
                    'action' => 'details',
                ),
                'spec' => '%slug%-test%id%%sufix%',
            )
        ),

此外,还包括部分:

代码语言:javascript
运行
复制
'details' => array(
            'type' => 'Segment',
            'options' => array(
                'route' => '/:slug-test:id:sufix',
                'defaults' => array(
                    '__NAMESPACE__' => 'Application\Controller',
                    'controller' => 'List',
                    'action' => 'details',
                )
                'constraints' => array(
                    'slug' => '[a-zA-Z][a-zA-Z0-9_-]*',
                    'id' => '[0-9]*',
                    'sufix' => '[av|ai|cv|ci|svb|sib|svc|sic|svi|sii|tv|ti]'
                )
            )
        ),

但这不管用。有人能看出我做错了什么吗?谢谢!

EN

回答 2

Stack Overflow用户

发布于 2017-08-07 13:54:24

我要和Segment一起去。我在路由配置中注意到的唯一问题是sufix约束:而不是[av|ai|…],您应该键入(av|ai|…)

票数 0
EN

Stack Overflow用户

发布于 2017-08-08 06:13:31

请试试这个-

代码语言:javascript
运行
复制
'details' => array(
            'type' => 'Segment',
            'options' => array(
                'route' => '/:slug[-test]:id:sufix',
                'defaults' => array(
                    '__NAMESPACE__' => 'Application\Controller',
                    'controller' => 'List',
                    'action' => 'details',
                )
                'constraints' => array(
                    'slug' => '[a-zA-Z][a-zA-Z0-9_-]*',
                    'id' => '[0-9]*',
                    'sufix' => '[av|ai|cv|ci|svb|sib|svc|sic|svi|sii|tv|ti]'
                )
            )
        ),

在这条线上'route' => '/:slug-test:id:sufix',

你有问题,因为它认为“子弹测试”为单变量。因此,要做到这一点,您应该将"-test“与”段塞“变量分开。

'route' => '/:slug[-test]:id:sufix',

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45547364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档