通配符前缀Laravel 5



Laravel 5中是否有一种方法可以具有公认的前缀列表,例如['gbr','en','eu'],以便

/gbr/bar/baz/shoelace  // or
/eu/bar/baz/shoelace

由相同的控制器@方法与

处理
/bar/baz/shoelace

除了其他参数foo=gbr在第一个条件下传递?

注意Route::group前缀无法正常工作,因为在这种情况下可能存在或可能没有前缀。另外,此策略应优先于所有其他,即路线将首先检查(可选的)前缀。

是的,有一种方法。

在声明路线时,您可以将其声明为

Route::get('{prefix}/bar/baz/shoelace', 'controller@method')->where('prefix', 'gbr|en|eu');

gbr|en|eu是一个简单的正则表达式,可以匹配字符串gbr, en or eu。查看正则表达式约束以获取更多详细信息

,在您的控制器中,您可以拥有

public function method($prefix) {
    //code here
}

最新更新