我做了一些寻找,似乎无法弄清楚如何在Silex的URL段中有一个可选参数.所以我目前有这条路线:
/{controller}/{method}/{param}
Run Code Online (Sandbox Code Playgroud)
param通配符是我想要的可选项.所以这个模式会选择像这样的URL
"Controller1/Method1" and "Controller2/Method2/Param"
Run Code Online (Sandbox Code Playgroud)
建议?
rai*_*7ow 12
只需将处理器设置为最长的URL(包含所有部分,包括可选的部分),如下所示:
$app->get('/controller/{method}/{param}',
function($method, $param) {
// called both by `/controller/some-method/some-param-string`,
// `/controller/some-other-method`, and even `/controller`
});
Run Code Online (Sandbox Code Playgroud)
默认情况下,空字符串被指定为与省略的URL部分对应的参数的值.但您可以显式覆盖它,如文档中所述:
$app->get('/page/{pageName}', function($pageName) {
// ...
})->value('pageName', 'index');
Run Code Online (Sandbox Code Playgroud)
现在,当/page访问时,$pageName设置为'index'.
| 归档时间: |
|
| 查看次数: |
6111 次 |
| 最近记录: |