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

1.  路由

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

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

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

 Route::get('test',function(){
     return '123';
 });

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

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

 Route::post('/test',function(){
     return 123;
 });

  

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

 Route::get('test',function(){
     $csrf_field = csrf_field();
     $html = <<<GET
         <form method="POST" action="/test">
             {$csrf_field}
             <input type="submit" value="test"/>
         </form>
 GET;
     return $html;
 });
 Route::post('test',function(){
     return 'Success';
 });

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

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

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

1.1.  路由参数

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

可选参数:

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

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

正则约束参数:

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

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

输出:

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

学渣也要搞 laravel(2)—— HTTP路由[1]篇的更多相关文章

  1. 学渣也要搞 laravel(1)—— 安装篇

    看到laravel(我叫它:拉瓦)那么热门,我也决定学上一学. Laravel 5.2 在 5.1 基础上继续改进和优化,添加了许多新的功能特性:多认证驱动支持.隐式模型绑定.简化Eloquent 全 ...

  2. 学渣也要搞 laravel(4)—— 服务 加解密篇

    使用 Crypt::encrypt() 对数据进行加密,[注意要引入 use Illuminate\Support\Facades\Crypt;; ] 简单的做个测试: 先分配一个路由: Route: ...

  3. 学渣也要搞 laravel(3)—— HTTP控制器

    1. laravel 控制器在app/Http/Controllers/ 下,你会看到里面有一个Controller.php ,之后我们创建的控制器都是继承这个总控制器的.创建控制器只需要在这里面添加 ...

  4. [转]Laravel 4之路由

    Laravel 4之路由 http://dingjiannan.com/2013/laravel-routing/ Laravel 4路由是一种支持RESTful的路由体系, 基于symfony2的R ...

  5. Laravel 深入理解路由和URL生成

    原文地址: Laravel 深入理解路由和URL生成 在模板中我们一般不会直接写死url,而是用url助手生成url,本文介绍一下url助手的使用以及遇到的一些比较头疼的问题. 首先,我们创建了一个路 ...

  6. laravel基础课程---2、Laravel配置文件、路由及php artisan(php artisan是什么)

    laravel基础课程---2.Laravel配置文件.路由及php artisan(php artisan是什么) 一.总结 一句话总结: PHP工具匠:php artisan,其实本身就是一些PH ...

  7. Laravel框架下路由的使用(源码解析)

    本篇文章给大家带来的内容是关于Laravel框架下路由的使用(源码解析),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 前言 我的解析文章并非深层次多领域的解析攻略.但是参考着开发文 ...

  8. ROS2.9.27架设网吧软路由实战篇之端口映射与回流

    转载:http://blog.csdn.net/zm2714/article/details/7924280 上一篇:ROS2.9.27架设网吧软路由实战篇之连通网络,主要讲述了网吧架设软路由ROS2 ...

  9. laravel强大功能路由初探(二)

    目标当然是先输出helloworld 配置hosts文件和apache下的httpd-vhosts.conf, hosts:127.0.0.1  www.blog.com httpd-vhosts.c ...

随机推荐

  1. 解决IE6浏览器下position:fixed固定定位问题

    像你所遇到的问题一样, IE6浏览器有太多的bug让制作网页的人头疼.这篇文章介绍的是介绍的是如何解决IE6不支持position:fixed;属性的办法.如果我们需要做某个元素始终位于浏览器的底部, ...

  2. 【转】谁说Vim不是IDE?(二)

    谁说Vim不是IDE?(二)   环境配置 “如果你认为Vim只是一个文本编辑器,你就输了”——来自Vim老鸟 Vim以简洁的方式提供了丰富的配置功能,主要配置体系由一个文件和文件夹组成.在一台安装了 ...

  3. hdoj 1698 Just a Hook【线段树区间修改】

    Just a Hook Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  4. HDU 4604 Deque 二分最长上升子序列

    题目大意就是给一个deque 然后有n个数,依次进行操作,每种操作,你可以把这个数放在deque首部,也可以放在尾部,也可以扔掉不管,但是要保证deque中的数是非递减的.最要求deque中最长能是多 ...

  5. 浏览器兼容console对象的简要解决方案

    不同浏览器或者版本之间对于console对象的支持不尽相同,而console方法在开发调试过程中都是不错的工具.难道要在上线前把所有console.xxxx去掉以保证某些浏览器不报错么.其实可以变通解 ...

  6. uva 11195 Another queen (用状态压缩解决N后问题)

    题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  7. Codeforces Round #198 (Div. 2) D. Bubble Sort Graph (转化为最长非降子序列)

    D. Bubble Sort Graph time limit per test 1 second memory limit per test 256 megabytes input standard ...

  8. cocos2d-x 2.0.3 设置高清模式注意事项(已移除-hd方式)

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢! 原文地址: http://www.cocos2dev.com/?p=304 在cocos2d-x 2. ...

  9. my_pnd_start

    终于有个雏形了,再给自己一些时间做做看吧.

  10. XPath操作XML文档

    NET框架下的Sytem.Xml.XPath命名空间提供了一系列的类,允许应用XPath数据模式查询和展示XML文档数据. 3.1XPath介绍 主要的目的是在xml1.0和1.1文档节点树种定位节点 ...