作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 zend framework 2,我需要为路由段创建一个可选参数,该路由段也有两个必需参数。下面是描述路由的 module.config.php 中的一个片段。我的理解是,在 ZF2 中,可以使用
创建一个可选的路由参数[/:param]
你看到的就是我的。只要我发送可选参数,它就可以正常工作,但是当我省略它时,前两个参数“uname 和 appname”将一起附加到“uname”约束中。该路由是父路由。
'roles' => array(
'type' => 'segment',
'options' => array(
'route' => '/roles/:uname/:appname[/:locnames]',
'constraints' => array(
'uname' => '[a-zA-Z].+',
'appname' => '[a-zA-Z0-9_-].+',
'locnames' => 'locnames'
),
'defaults' => array(
'controller' => 'Roles/Controller/RolesController'
),
),
),
我在这里遗漏了什么,我知道你可以定义可选参数,但我不知道正确的格式
最佳答案
感谢 #zftalk 上的 grizzm0 或帮助我解决这个问题。这是一个简单的正则表达式问题。删除约束中的点 (.) 可以正确匹配传入的 url 参数。所以我的路线现在看起来像这样:
'roles' => array(
'type' => 'segment',
'options' => array(
'route' => '/roles[/:action][/uname/:uname][/appname/:appname][/locnames/:locnames]',
'constraints' => array(
'uname' => '[a-zA-Z]+',
'appname' => '[a-zA-Z0-9_-]+',
'locnames' => 'locnames'
),
'defaults' => array(
'controller' => 'Roles/Controller/RolesController'
),
),
),
关于php - 如何为 zend framework 2 restful 路由创建一个可选的路由参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33189463/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!