学渣也要搞 laravel(2)—— HTTP路由[1]篇
前几天忙了,然后快两个星期没有发博客。今天正式回归。哈哈
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]篇的更多相关文章
- 学渣也要搞 laravel(1)—— 安装篇
看到laravel(我叫它:拉瓦)那么热门,我也决定学上一学. Laravel 5.2 在 5.1 基础上继续改进和优化,添加了许多新的功能特性:多认证驱动支持.隐式模型绑定.简化Eloquent 全 ...
- 学渣也要搞 laravel(4)—— 服务 加解密篇
使用 Crypt::encrypt() 对数据进行加密,[注意要引入 use Illuminate\Support\Facades\Crypt;; ] 简单的做个测试: 先分配一个路由: Route: ...
- 学渣也要搞 laravel(3)—— HTTP控制器
1. laravel 控制器在app/Http/Controllers/ 下,你会看到里面有一个Controller.php ,之后我们创建的控制器都是继承这个总控制器的.创建控制器只需要在这里面添加 ...
- [转]Laravel 4之路由
Laravel 4之路由 http://dingjiannan.com/2013/laravel-routing/ Laravel 4路由是一种支持RESTful的路由体系, 基于symfony2的R ...
- Laravel 深入理解路由和URL生成
原文地址: Laravel 深入理解路由和URL生成 在模板中我们一般不会直接写死url,而是用url助手生成url,本文介绍一下url助手的使用以及遇到的一些比较头疼的问题. 首先,我们创建了一个路 ...
- laravel基础课程---2、Laravel配置文件、路由及php artisan(php artisan是什么)
laravel基础课程---2.Laravel配置文件.路由及php artisan(php artisan是什么) 一.总结 一句话总结: PHP工具匠:php artisan,其实本身就是一些PH ...
- Laravel框架下路由的使用(源码解析)
本篇文章给大家带来的内容是关于Laravel框架下路由的使用(源码解析),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 前言 我的解析文章并非深层次多领域的解析攻略.但是参考着开发文 ...
- ROS2.9.27架设网吧软路由实战篇之端口映射与回流
转载:http://blog.csdn.net/zm2714/article/details/7924280 上一篇:ROS2.9.27架设网吧软路由实战篇之连通网络,主要讲述了网吧架设软路由ROS2 ...
- laravel强大功能路由初探(二)
目标当然是先输出helloworld 配置hosts文件和apache下的httpd-vhosts.conf, hosts:127.0.0.1 www.blog.com httpd-vhosts.c ...
随机推荐
- PC-修改IE 与 禁止修改IE
1.注册表编辑器1.1在Windows启动后1.2点击“开始”1.3“运行”菜单项1.4在“打开”栏中键入“regedit”1.5然后按“确定”键 2.首页项2.1展开注册表到“HKEY_LOCAL_ ...
- AppiumLibrary
Strategy Example Description identifier Click Element|identifier=my_element Matches by @id or @name ...
- jetty服务器
1,http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin 2,http://wiki.eclipse.org/Jetty#Getting_S ...
- Araxis Merge Professional v2014.4565 特别版 | 文件比较合并
http://www.ttrar.com/html/AraxisMerge.html Araxis Merge 是一个可视化的文件比较.合并和同步的软件,能够方便的被软件工程师和 web 站点开发者使 ...
- hdu 1317 XYZZY【Bellheman_ford 判断正环小应用】
链接: http://acm.hdu.edu.cn/showproblem.php?pid=1317 http://acm.hust.edu.cn/vjudge/contest/view.action ...
- java多线程之消费者生产者模式 (转)
/*@author shijin * 生产者与消费者模型中,要保证以下几点: * 1 同一时间内只能有一个生产者生产 生产方法加锁sychronized * 2 同一时间内只能有一个消费者消费 消费方 ...
- GDB的non-stop模式
线程调试必杀技 - GDB的non-stop模式 作者:破砂锅 开源的GDB被广泛使用在Linux.OSX.Unix和各种嵌入式系统(例如手机),这次它又带给我们一个惊喜. 多线程调试之痛 调试器 ...
- Windows 7系统下局域网文件共享设置方法
今天给家里增添了一台组装机,小试了一下win7局域网文件共享功能,很爽的说. 记录一下实现方法: 1.关闭防火墙 2.启用共享. 控制面板 – 网络和共享中心 – 更改高级共享设置,将图中的几个选项选 ...
- Android开发之UI的编程方式创建
我们知道,android中一个activity对应一个xml的UI配置文件,除了用xml文件配置的方式创建用户界面外,还可以使用代码编程的方式来创建一个用户界面.如果用户界面需要在运行过程中动态生成的 ...
- ASP.NET中如何实现负载均衡
ASP.NET站点中做负载均衡: 基于HTTP协议我们可能发现我们要解决两点问题: 第一,做到负载均衡,我们需要一个负载均衡器. 可以通过DNS轮询来做,在DNS服务器上配置为每次对我们做负载均衡的同 ...