多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 本小节主要由七个知识点 路由规则均在 框架 app/http/routes.php 文件中编写 [TOC] ### 路由简介 * 简单的说就是将用户的请求转发给相应的程序处理 * 作用就是建立url和程序之间的映射 达到美化/简化url的目的 * 请求类型 get post put patch delete ### 基本路由 >[info]get 路由 ~~~ Route::get('home', function() { return 'home'; }); ~~~ >[info] post 路由 ~~~ Route::post('home2', function() { return 'home2'; }); ~~~ >[warning]不能通过url进行访问,否则报错 ### 多请求路由 > match 路由 >[info] 定义指定路由请求类型为 get post ~~~ Route::match(['get','post'], 'multyl' function() { return 'multyl'; }); ~~~ >[info] any 路由 >支持所有请求类型 get post put patch delete ~~~ Route::any('multyl2' function() { return 'multyl2'; }); ~~~ ### 路由参数 >[info]get 参数路由 ~~~ Route::get('user/{id}', function($id) { return 'user_id:' . $id ; }); ~~~ >如果觉得每次跟着参数不方便,也可定义可选参数路由 ,null可指定$name默认值 ~~~ Route::get('user/{name?}', function($name = null) { return 'user_name:' . $name ; }); ~~~ >对单个参数进行验证 ~~~ Route::get('user/{name?}', function($name = null) { return 'user_name:' . $name ; })->where('name', '[a-zA-Z]+'); ~~~ >对多个参数进行验证 ~~~ Route::get('user/{id}/{name?}', function($id, $name = null) { return 'user_name:' . $name . '_id:' .$id; })->where(['id' => '[0-9]+', 'name' => '[a-zA-Z]+']); ~~~ ### 路由别名 >用于在可用的情景下自动生成url 如控制器 模版中生成url ~~~ Route::get('user/member-center', ['as' => 'center', function() { return route('center'); }]); ~~~ ### 路由群组 ~~~ Route::group(['prefix' => 'home'], function() { Route::get('user/member-center', ['as' => 'center', function() { return route('center'); }]); Route::any('multyl2' function() { return 'multyl2'; }); }); ~~~ ### 路由中输出视图 >通过路由指定输出Views目录下的welcom.blade.php模版文件 ~~~ Route::get('view', function() { return view('welcom'); }); ~~~ ### 路由中指定控制器方法 ~~~ //站点首页 Route::get('/', 'SiteController@index' ); //关于我们 Route::get('/about', 'SiteController@about' ); //文章列表页面 Route::get('/Arcticle', 'ArcticleController@index'); ~~~