laravel中的路由

路由简单的说就是将用户的请求转发给相应的程序进行处理

作用就是建立url和程序之间的映射

请求类型有get,post,put,patch,delete

get请求示例

app/Http/routes.php里面新建路由,输入下面的代码

Route::get('basic1',function(){
    return 'hello world';
});

打开浏览器访问 localhost/laravel/public/basic1,可以看到浏览器输出

laravel中的路由_第1张图片
Paste_Image.png

post请求实例
app/Http/routes里面新建路由,输入下面的代码

Route::post('basic2',function(){
   return 'Basic2'; 
});

多请求路由,有两种写法

 Route::match(['get','post'],'multi1',function(){
 return 'multi1';
 });

Route::any('multi2',function(){
return 'multi2';
});

可以用get或post访问,打开浏览器 localhost/laravel/public/multi1

laravel中的路由_第2张图片
Paste_Image.png

设置路由参数,在app/Http/routes.php里面输入

//路由参数
Route::get('user/{id}',function($id){
return 'User-'.$id;
});

打开浏览器访问 localhost/laravel/public/user/xiongda,后面跟上参数xiongda

laravel中的路由_第3张图片
Paste_Image.png

使用下面的代码可以不带参数

 Route::get('user/{name?}',function($name=null){
    return 'User-name-'.$name;
});

访问浏览器得到下面的结果


laravel中的路由_第4张图片
Paste_Image.png

如果代码里定义了默认值,如“熊二”

Route::get('user/{name?}',function($name='xionger'){
    return 'User-name-'.$name;
});

访问浏览器会自动传入默认值:熊二


laravel中的路由_第5张图片
Paste_Image.png

也可以设置传入值的正则表达式

Route::get('user/{name?}',function($name='sean'){
   return 'User-name-'.$name;
})->where('name','[A-Za-z]+');

也可以设置多个值

Route::get('user/{id}/{name?}',function($id,$name='sean'){
    return 'User-name-'.$id.'name'.$name;
})->where(['id'=>'[0-9]+','name'=>'[A-Za-z]+']);

浏览器输出结果

laravel中的路由_第6张图片
Paste_Image.png

路由别名

//路由别名
Route::get('user/member-center',['as'=>'center',function(){
   return 'member-center';
}]);

浏览器输出结果

laravel中的路由_第7张图片
Paste_Image.png

浏览器输出结果

Route::get('user/member-center',['as'=>'center',function(){
    return route('center');
}]);
laravel中的路由_第8张图片
Paste_Image.png

有了别名之后返回后的PC端的代码就不用改了

Route::get('user/center',['as'=>'center',function(){
    return route('center');
}]);
laravel中的路由_第9张图片
Paste_Image.png

路由群组

//路由群组
    Route::group(['prefix'=>'member'],function(){
    Route::get('user/center',['as'=>'center',function(){
        return route('center');
    }]);

    Route::any('multi2',function(){
        return 'member-multi2';
    });
});

需要加前缀访问

laravel中的路由_第10张图片
Paste_Image.png
laravel中的路由_第11张图片
Paste_Image.png

路由中的视图

//路由中的视图
Route::get('view',function(){
    return view('welcome');
});

浏览器输出resources/views/welcome.blade.php的文件


laravel中的路由_第12张图片
Paste_Image.png

你可能感兴趣的:(laravel中的路由)