5.1版本的路由其实是完全重构了,只是保留了和5.0几乎一致的使用方法。详细的用法官方手册已经说的非常详细了,本文专门整理了5.1路由使用的一些注意事项和技巧,可以作为你学习的指引。
开启路由
5.1版本的路由是默认开启的,而且不能关闭,对于不使用路由的模块你不定义路由即可。
所有的路由规则是不支持普通URL参数的,必须是PATHINFO地址。
路由定义文件不一定是route.php,事实上可以是任何文件名,如果有必要,你可以使用不同的路由定义文件管理不同模块的路由。
如果你开启了路由强制模式,那么未定义的路由访问将会抛出异常。
使用方法注册路由规则
尽量使用路由类的方法注册路由规则,数组配置定义路由规则的方式下一个版本已经取消,不再建议使用,方法定义对于路由缓存的支持更好。
推荐使用:
Route::get('hello/:name','index/hello');
而不建议使用:
return[
'hello/:name'=>'index/hello',
];
明确定义请求类型
尽量明确定义路由的请求类型,提高路由解析的效率。
推荐使用:
Route::get('hello/:name','index/hello');
不建议使用:
Route::rule('hello/:name','index/hello');
不需要添加开头斜线
除了首页外,其它路由规则定义不需要添加开头的斜线。
推荐使用:
Route::get('hello/:name','index/hello');
不建议使用:
Route::get('/hello/:name','index/hello');
除非是首页路由
Route::get('/','index/index');
或者直接访问分组名的情况
Route::group('blog',function(){
Route::get('/','index/blog');
Route::get(':id$','blog/read');
Route::get(':id/edit$','blog/edit');
});
多使用路由分组
可能的情况下,尽可能多使用路由分组。可以充分利用分组的匹配机制提高路由解析性能。
推荐使用
Route::group('blog',function(){
Route::get(':id$','blog/read');
Route::get(':id/edit$','blog/edit');
});
不建议使用
Route::get('blog/:id$','blog/read');
Route::get('blog/:id/edit$','blog/edit');
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69926583/viewspace-2680653/ ,如需转载,请注明出处,否则将追究法律责任。