传统的MVC中请求的一般是控制器,laravel中请求的是路由 laravel中的路由简单的说就是将用户的请求转发给相应的程序进行处理,作用就是建立url和程序之间的映射 路由请求类型get、post、put、patch、delete 基本路由: 路由文件 app/Http/routes.php get方式: Route::get('basic1', function () { return 'basic1'; }); 测试地址 http://www.laravelstudy.com/laravel/public/basic2 测试结果 basic1 post方式: Route::post('basic2', function () { return 'basic2'; }); 测试地址 post不能通过url访问 match方式: Route::match(['get', 'post'], 'multy1', function () { return 'multy1'; }); 测试地址 http://www.laravelstudy.com/laravel/public/multy1 测试结果 multy1 any方式: Route::any('multy2', function () { return 'multy2'; }); 测试地址 http://www.laravelstudy.com/laravel/public/multy2 测试结果 multy2 路由参数: Route::get('user/{id}', function ($id) { return $id; }); 测试地址 http://www.laravelstudy.com/laravel/public/user/3 测试结果 3 Route::get('user/{name?}', function ($name = 'default') { return $name; }); 测试地址 http://www.laravelstudy.com/laravel/public/user 测试结果 default 测试地址 http://www.laravelstudy.com/laravel/public/user/xiaodong 测试结果 xiaodong 还可以使用正则匹配 Route::get('user/{name?}', function ($name = 'default') { return $name; })->where('name', '[A-Za-z]+'); 路由别名: 给当前的路由设置别名,不管url如何变化,route函数都能正确获取到url Route::get('user/gerenzhongxin', ['as' => 'center', function () { return route('center'); }]); 测试地址 http://www.laravelstudy.com/laravel/public/user/gerenzhongxin 测试结果 http://www.laravelstudy.com/laravel/public/user/gerenzhongxin 路由群组: 给当前的路由设置前缀 Route::group(['prefix' => 'member'], function () { Route::get('name', function () { return 'name'; }); Route::any('age', function () { return 'age'; }); }); 测试地址 http://www.laravelstudy.com/laravel/public/member/name 测试结果 name 测试地址 http://www.laravelstudy.com/laravel/public/member/age 测试结果 age 路由输出视图: view方法用于输出视图文件 Route::get('index', function () { return view('index'); }); 通过a链接传递参数: <a href="{{ URL('participle/aid/12') }}"> Route::any('/participle/aid/{id}', 'ParticipleController@select'); public function select($id){ echo $id; }