laravel中的路由

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

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

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

get请求示例

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

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

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

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

Paste_Image.png

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

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

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

Paste_Image.png

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

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

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


Paste_Image.png

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

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

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


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]+']);

浏览器输出结果

Paste_Image.png

路由别名

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

浏览器输出结果

Paste_Image.png

浏览器输出结果

Route::get('user/member-center',['as'=>'center',function(){
    return route('center');
}]);
Paste_Image.png

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

Route::get('user/center',['as'=>'center',function(){
    return route('center');
}]);
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';
    });
});

需要加前缀访问

Paste_Image.png
Paste_Image.png

路由中的视图

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

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


Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,337评论 19 139
  • 路由 1.路由简介 简单的说就是将用户的请求转发给相应的程序进行处理。 作用就是建立url和程序间的映射 ...
    他爱在黑暗中漫游阅读 1,183评论 0 0
  • 原文链接 必备品 文档:Documentation API:API Reference 视频:Laracasts ...
    layjoy阅读 12,725评论 0 121
  • 本文转自CSDN,在原作者基础上将老版本laravel的目录更正为最新laravel5.4目录,去除了不太好理解的...
    小小奶狗阅读 6,159评论 6 10
  • TCP套接字编程:客户向服务器发送一行数据,服务器将这行改为大写并会送给客户。 客户端代码 服务端代码
    NoFacePeace阅读 1,690评论 0 0