码迷,mamicode.com
首页 > Web开发 > 详细

学渣也要搞 laravel(2)—— HTTP路由[1]篇

时间:2016-07-07 06:17:39      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:

    前几天忙了,然后快两个星期没有发博客。今天正式回归。哈哈

1.  路由

    说到路由当时学的时候给我疑惑了几天、。没有仔细看文档。然后一脸蒙蔽的去用 postman[谷歌插件] 测试路由方法。然后就很奇怪 composer 下载下来的 laravel 为什么在 postman 里面测试的只有 get 路由方法能使用,类似这样 : 

    laravel 的路由在app/Http/routes.php 这个文件(中文文档:点我

  在routes.php里面添加了一个get方法 

1 Route::get(‘test‘,function(){
2     return ‘123‘;
3 });

然后在postman里面测试的时候能输出 123;

  然后我再次添加post方法。发现在postman里面测试的时候会报错。

1 Route::post(‘/test‘,function(){
2     return 123;
3 });

  

  后来加了laravel学院的群问了下才知道,laravel 5.2.26之后的所有路由默认走web中间件,所以没有token肯定访问不了) 通俗的说就是防止CSRF(跨站)攻击。如果想要用postman测试的话就要去关闭CSRF。要么就用表单测试避免攻击。我就用官方文档给的表单测试这些路由...

 

 1 Route::get(‘test‘,function(){
 2     $csrf_field = csrf_field();
 3     $html = <<<GET
 4         <form method="POST" action="/test">
 5             {$csrf_field}
 6             <input type="submit" value="test"/>
 7         </form>
 8 GET;
 9     return $html;
10 });
11 Route::post(‘test‘,function(){
12     return ‘Success‘;
13 });

 

 

 

这个就能在浏览器中看到了技术分享(忽略 标签 ,懒得打马了)

  metch / any 路由都差不多。然后其他的几个路由我也就不去测试了。表单传递方式只有get和post了。如果想看其他路由的话。目前只知道--- 去关闭csrf 用postman看效果。 如何关闭上面的 csrf 链接有介绍。或者 app/Http/Kernel.php 注释掉第31行 

1 \App\Http\Middleware\VerifyCsrfToken::class, //注释我

 

 

 

1.1.  路由参数

1 Route::get(‘posts/{post}/comments/{comment}‘, function ($postId, $commentId) {
2     return $postId.$commentId;
3 });

 

技术分享

 

可选参数:

1 Route::get(‘posts/{post}/comments/{comment?}‘, function ($postId, $commentId=null) {
2     return ‘$postId----‘.$postId.‘ $commentId------‘.$commentId;
3 });

   这个意思差不多就是以postId 接收{post}参数。然后可选参数comment 可以为空或者不为空。然后输出对应的参数:下面这个例子就是把这个可选的参数没有给他设置值。然后输出的时候就不会有参数出来。若设置了即反之。{post}不能设置为可选参数,如果设置了的话,便报错、因为它真的不知道 comments 后面的是不是值。

 技术分享

 

正则约束参数:

1 Route::get(‘user/{id}/{name}‘, function ($id, $name) {
2   return $id.‘---‘.$name;
3 })->where([‘id‘ => ‘[0-9]+‘, ‘name‘ => ‘[a-z]+‘]);

 

 这个输入的参数 id 必须为数字。name 必须为 a-z 或者多个 a-z+ --- 即正则约束这俩参数。

输出:

技术分享

部分内容参考:Laravel 5.2 中文文档 

学渣也要搞 laravel(2)—— HTTP路由[1]篇

标签:

原文地址:http://www.cnblogs.com/qiutianjia/p/5631720.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!