Laravel 5中是否有一种方法可以获得可识别的前缀列表,例如['gbr','en','eu'],以便
/gbr/bar/baz/shoelace // or
/eu/bar/baz/shoelace
由与
相同的控制器@方法处理/bar/baz/shoelace
除了在第一个条件中传递附加参数foo=gbr
之外?
注意Route::group
前缀不起作用,因为在这种情况下可能有也可能没有前缀。此外,此策略应优先于所有其他策略,即Route将首先检查(可选)前缀。
答案 0 :(得分:1)
是的,有办法。
声明路线时,您可以将其声明为
Route::get('{prefix}/bar/baz/shoelace', 'controller@method')->where('prefix', 'gbr|en|eu');
gbr|en|eu
是一个简单的正则表达式,它匹配字符串gbr, en or eu
。查看Regular expression constraints了解更多详情
在控制器中你可以拥有
public function method($prefix) {
//code here
}