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

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. 3 weekend110的job提交的逻辑及YARN框架的技术机制 + MR程序的几种提交运行模式

    途径1: 途径2: 途径3: 成功! 由此,可以好好比较下,途径1和途径2 和途径3 的区别. 现在,来玩玩weekend110的joba提交的逻辑之源码跟踪 原来如此,weekend110的job提 ...

  2. div border-radius

    可以画个1/4之一的圆也可以画整个圆 <html> <style type="text/css"> div{ background-color: #000; ...

  3. MongoDB:The Definitive Guide CHAPTER 2 Getting Started

    MongoDB is very powerful, but it is still easy to get started with. In this chapter we’ll introduce ...

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

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

  5. iOS开发 Xcode中的Info.plist字段含义

    Info.plist用于向iOS提供关于app,bundle或者framework的一些重要信息.它指定了比如一个应用应该怎样启动,它如何被本地化,应用的名称,要显示的图标,还有更多.Info.pli ...

  6. Android中利用OpenMax 编程的基本流程

    近期因为公司在做数字电视,播放器和模块由供应商打包一起卖,驱动调通了,但是播放器要硬件解码,和平台差异,原厂又没有相关文档,就自己试着看了一个系统的播放器流程,顺便整理了一下,也方便以后查询,希望对播 ...

  7. Android.mk各种文件编译汇总

    一.源代码编译 1.1 so预编译 LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := libAppArea LOCAL ...

  8. hdu 4651 Partition (利用五边形定理求解切割数)

    下面内容摘自维基百科: 五边形数定理[编辑] 五边形数定理是一个由欧拉发现的数学定理,描写叙述欧拉函数展开式的特性[1] [2].欧拉函数的展开式例如以下: 亦即 欧拉函数展开后,有些次方项被消去,仅 ...

  9. float与double的范围和精度(摘录)

    什么是浮点数在计算机系统的发展过程中,曾经提出过多种方法表达实数.典型的比如相对于浮点数的定点数(Fixed Point Number).在这种表达方式中,小数点固定的位于实数所有数字中间的某个位置. ...

  10. ubuntu15.10英文系统中文输入法配置 fcitx

    15.10 默认安装的输入法engine就是fcitx,如果你安装的时候locale选中文,应该不用任何折腾就可以用了,但我习惯了用英文系统,所以..... 系统安装好之后,做如下修改: 安装语言包 ...