laravel基础课程---6、请求(如何获取当前 HTTP 请求的实例)
laravel基础课程---6、请求(如何获取当前 HTTP 请求的实例)
一、总结
一句话总结:
依赖注入:通过依赖注入的方式来获取当前 HTTP 请求的实例:public function store(Request $request)
要通过依赖注入的方式来获取当前 HTTP 请求的实例,你应该在控制器方法中使用 Illuminate\Http\Request 类型提示。当前的请求实例将通过 服务容器 自动注入:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class UserController extends Controller
{
/**
* 储存一个新用户。
*
* @param Request $request
* @return Response
*/
public function store(Request $request)
{
$name = $request->input('name'); //
}
}
1、如果控制器方法也有输入数据是从路由参数中传入,如何获取当前 HTTP 请求的实例?
只需将路由参数置于其他依赖之后(比如这里的$id):public function update(Request $request, $id)
|||-begin
Route::put('user/{id}', 'UserController@update');
|||-end
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class UserController extends Controller
{
/**
* 更新指定的用户。
*
* @param Request $request
* @param string $id
* @return Response
*/
public function update(Request $request, $id)
{
//
}
}
2、请求中获取地址的常用方法及注意?
输出当前url地址(包含查询字符串):echo $request->fullUrl();
获取URL的路由:echo $request->path();
获取URl地址(返回不带有查询字符串的 URL):echo $request->url();
判断路由是否是request:var_dump($request->is('abc'));
// 输出当前url地址
echo $request->fullUrl();
http://www.yzmedu2.com/request?name=100
// 获取URL的路由
echo $request->path();
request
// 获取URl地址初参数
echo $request->url();
http://www.yzmedu2.com/request
// 判断路由是否是request
返回值 true|false
var_dump($request->is('abc'));
3、判断是get请求还是post请求实例(比如一个方法即可接受get请求又可接收post请求)?
if ($request->isMethod('GET'))
public function add(Request $request){
// 判断当前是get请求
if ($request->isMethod('GET')) {
// 加载添加页面
return view('add');
}else{
// 数据库的入库操作
echo "插入数据库";
}
}
4、如何获取和判断当前的请求类型?
获取请求类型:echo $request->method();
判断当前的请求是不是get请求:var_dump($request->isMethod('GET'));
// 判断当前的请求类型
echo $request->method();
// 判断当前的请求是不是get请求
返回值 true|false
var_dump($request->isMethod('GET'));
5、获取所有的请求数据,比如get、post、put等等?
$_GET和$_POST中无法获取put类型的数据
all方法:$data=$request->all();
6、获取特定字段的请求数据,比如请求数据中的name字段?
input方法:echo $request->input('name');
7、请求中判断字段是否存在?
has方法:var_dump($request->has('username'));
8、请求中获取字段数据一些需要注意的?
设置默认值:input+键值对:echo $request->input('yao','强哥');
获取部分数据:only:$data1=$request->only(['name','pass']);
除了一些数据以外:except:$data1=$request->except(['_token','name']);
// 设置默认值
echo $request->input('yao','强哥'); // 获取部分数据 $data1=$request->only('name','pass');
$data1=$request->only(['name','pass']); // 除了一些数据以外 $data1=$request->except('_token','name');
$data1=$request->except(['_token','name']);
二、内容在总结中
laravel基础课程---6、请求(如何获取当前 HTTP 请求的实例)的更多相关文章
- laravel基础课程---12、lavarel的ajax操作2(lavarel的ajax使用总结)
laravel基础课程---12.lavarel的ajax操作2(lavarel的ajax使用总结) 一.总结 一句话总结: 比较简单:就是js请求ajax,然后控制器获取请求参数,返回数据即可 1. ...
- laravel基础课程---11、lavarel的ajax操作(ajax优劣势是什么)
laravel基础课程---11.lavarel的ajax操作(ajax优劣势是什么) 一.总结 一句话总结: 优势:用户友好度:异步通信,不会频繁刷新页面,用户友好度比较高 优势:减轻数据库压力 缺 ...
- laravel基础课程---10、数据库基本操作(如何使用数据库)
laravel基础课程---10.数据库基本操作(如何使用数据库) 一.总结 一句话总结: 1.链接数据库:.env环境配置里面 2.执行数据库操作:DB::table('users')->up ...
- laravel基础课程---7、文件处理、闪存、cookie(cookie原理和使用场景)
laravel基础课程---7.文件处理.闪存.cookie(cookie原理和使用场景) 一.总结 一句话总结: 页面请求服务器的时候是把这个页面中所有的cookie都带上了的,cookie里面也存 ...
- laravel基础课程---3、路由(Laravel中的常见路由有哪几种)
laravel基础课程---3.路由(Laravel中的常见路由有哪几种) 一.总结 一句话总结: 6种:post,get,put,patch,delete,options Route::get($u ...
- laravel基础课程---2、Laravel配置文件、路由及php artisan(php artisan是什么)
laravel基础课程---2.Laravel配置文件.路由及php artisan(php artisan是什么) 一.总结 一句话总结: PHP工具匠:php artisan,其实本身就是一些PH ...
- laravel基础课程---1、laravel安装及基础介绍(laravel如何安装)
laravel基础课程---1.laravel安装及基础介绍(laravel如何安装) 一.总结 一句话总结: [修改composer镜像地址].[明确laravel的安装要求].[安装指定版本的la ...
- laravel基础课程---16、数据迁移(数据库迁移是什么)
laravel基础课程---16.数据迁移(数据库迁移是什么) 一.总结 一句话总结: 是什么:数据库迁移就像是[数据库的版本控制],可以让你的团队轻松修改并共享应用程序的数据库结构. 使用场景:解决 ...
- laravel基础课程---15、分页及验证码(lavarel分页效果如何实现)
laravel基础课程---15.分页及验证码(lavarel分页效果如何实现) 一.总结 一句话总结: 数据库的paginate方法:$data=\DB::table("user" ...
随机推荐
- MongoDB基本文件操作
MongoDB中主要的文件操作有put.get.list.search几种.能够非常方便地进行文件存储于查找,下面是一个简单的演示样例. 1.利用dd命令生成要求大小随机文件 2.使用put命令将生 ...
- UDP最大传输字节
每个包最大可携带字节长度:65507个byte. 封装成 IP 后,大小超出 PMTU 的分组将可能被 fragmented. 如果设置了 Don't Frag,超出 PMTU 的分组将不能被发送. ...
- SAS连接MYSQL的步骤及引用数据表
1.建立逻辑库 libname dz ’物理路径'; 2.逻辑库做为桥梁连接SAS与MYSQL libname dz MYSQL USER=***** PASSWORD=**** DATABA ...
- c#中使用ABCpdf处理PDF,so easy
QQ交流群:276874828 (ABCpdf ) 这几天项目中需要将页面导成PDF,刚开始使用iTextSharp,觉得在分页处理上比较复杂,后来无意中看到了ABCpdf,使用非常简单,并将一些常 ...
- ReactNative Navigator
https://facebook.github.io/react-native/docs/navigator.html Navigator实现了页面之间的跳转. Demo描述:打开即进入“课程”页面, ...
- ssh port forwarding
SSH端口转发,总是忘记,今天记录下.端口转发有两种,一个是local一个是remote(可能还有一种dynamic,还没有研究) 贴个链接 https://www.ssh.com/ssh/tunne ...
- 设置mysql隔离级别
1.查看当前会话隔离级别 select @@tx_isolation; 2.查看系统当前隔离级别 select @@global.tx_isolation; 3.设置当前会话隔离级别 set sess ...
- [转]XMPP基本概念--节(stanza)
本文介绍在XMPP通信中最核心的三个XML节(stanza).这些节(stanza)有自己的作用和目标,通过组织不同的节(stanza),就能达到我们各种各样的通信目的. 首先我们来看一段XMPP流. ...
- erlang的undefined macro 'MODULE',头一行编译通不过的问题
前言:对于erlang的编译有很多方式,rebar,makefile文件 还是对于单个文件的erlc编译等,但不管何种方式,一个模块的第一行就编译不过去,实在让人纠结... 1)问题上述: 在技术交流 ...
- 理解cas
前言 CAS(Compare and Swap),即比较并替换,实现并发算法时常用到的一种技术,Doug lea大神在java同步器中大量使用了CAS技术,鬼斧神工的实现了多线程执行的安全性. CAS ...