1.入口文件的get路由
 Route::get('/', function () {     return view('welcome');     // return view('kaka'); });
匹配get和post
Route::match(['get', 'post'], '/', function () {    //    return 'kaka';
 
2.路径路由
Route::get('foo/kaka', function () {    return 'Hello World';
浏览器访问地址

3.当请求很多时,按照上面那种方式设置路由会很不方便
Route::any('foo',function(){    return 'lla';
 
4.参数路由
Route::any('product/index/{id}/{page}',function($id,$page){    return '参数是'.$id.$page;
浏览器访问
5.可选参数路由,参数后边加上一个?,在到function里边给个默认值。这个默认值看具体情况,字符串的给个’’ 数字的给个0
Route::any('product/index/{id}/{page?}',function($id,$page=0){    return '参数是'.$id.$page;
 
6.正则约束路由参数,链式操作使用正则匹配参数id
Route::any('product/index/{id}/{page?}',function($id,$page=0){    return '参数是'.$id.$page;})->where('id', '[0-9]+');
7.全局约束路由参数(当很多路由都需要写同样的参数,对同样的参数进行正则约束,这时就可以使用全局约束)
 
8.群组路由
/*群组路由 * */Route::group(['prefix' => 'product'], function () {    Route::get('index', function () {        return 'index';    });    Route::get('add', function () {        return 'add';    });});