V5.1.14+ 版本开始,可以在app.php 设置文件中自界说默认的变量规则:
'default_route_pattern' => '[\w\-]+',
支持在规则路由中为变量用正则的方式指定变量规则,补充了动态变量无法限定具体的范例标题,而且支持全局规则设置。使用方式如下:
局部变量规则
局部变量规则,仅在当前路由有用:
// 界说GET哀求路由规则 并设置name变量规则
Route::get('new/:name', 'News/read')
->pattern(['name' => '\w+']);
不必要开头添加^ 大概在末了添加$ ,也不支持模式修饰符,体系会主动添加。
全局变量规则
设置全局变量规则,全部路由有用:
// 设置name变量规则(接纳正则界说)
Route::pattern('name', '\w+');
// 支持批量添加
Route::pattern([
'name' => '\w+',
'id' => '\d+',
]);
组合变量规则
假如你的路由规则比力特别,可以在路由界说的时间使用组合变量。
比方:
Route::get('item--', 'product/detail')
->pattern(['name' => '\w+', 'id' => '\d+']);
组合变量的上风是路由规则中没有固定的分隔符,可以随意组合必要的变量规则和分割符,比方路由规则改成如下一样可以支持:
Route::get('item', 'product/detail')
->pattern(['name' => '[a-zA-Z]+', 'id' => '\d+']);
Route::get('item@-', 'product/detail')
->pattern(['name' => '\w+', 'id' => '\d+']);
使用组合变量的环境下假如必要使用可选变量,则可以使用下面的方式:
Route::get('item-', 'product/detail')
->pattern(['name' => '[a-zA-Z]+', 'id' => '\d+']);
V5.1.6+ 版本开始,路由规则中的变量界说更加机动,整个路由规则就是一个组合变量筹划,比方你可以直接使用下面的路由界说:
Route::get('item/:name-:id', 'product/detail')
->pattern(['name' => '\w+', 'id' => '\d+']);
5.1.6+ 版本以上,保举同一使用 变量方式,服从更高。
动态路由
可以把路由规则中的变量传入路由地点中,就可以实现一个动态路由,比方:
// 界说动态路由
Route::get('hello/:name', 'index/:name/hello');
name 变量的值作为路由地点传入。
动态路由中的变量也支持组合变量及拼装,比方:
Route::get('item--', 'product_:name/detail')
->pattern(['name' => '\w+', 'id' => '\d+']); ShopWT(www.shopwt.com)是国内知名商城系统及商城网站建设提供商,其中销客多小程序系统为商家提供小程序商城开发、小程序分销系统、微分销系统、商城系统、电商网站建设、微信分销系统、小程序商城等多端商城及电子商务行业解决方案> 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |