Php Silex中的可选路由参数
我做了一些研究,但似乎不知道如何在Silex的URL段中使用可选参数。所以我现在有这个路线:Php Silex中的可选路由参数,php,routing,silex,Php,Routing,Silex,我做了一些研究,但似乎不知道如何在Silex的URL段中使用可选参数。所以我现在有这个路线: /{controller}/{method}/{param} param通配符是我希望可选的。因此,此模式将拾取如下URL "Controller1/Method1" and "Controller2/Method2/Param" 建议?只需将处理器设置为尽可能长的URL(包含所有部分,包括可选部分),如下所示: $app->get('/controller/{method}/
/{controller}/{method}/{param}
param通配符是我希望可选的。因此,此模式将拾取如下URL
"Controller1/Method1" and "Controller2/Method2/Param"
建议?只需将处理器设置为尽可能长的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`
});
默认情况下,空字符串被指定为与省略的URL部分相对应的参数值。但您可以显式重写此项,如中所述:
现在,当访问/page
时,$pageName
被设置为'index'
$app->get('/page/{pageName}', function($pageName) {
// ...
})->value('pageName', 'index');