首页 >  编程教程 >  laravel教程 >  正文

laravel Request的所有方法详解

 作者:潘某人SEO
1465

Request 对象访问任何基于 HTTP 请求传递的所有信息,包括从 HTML 表格用 POST 方法或 GET 方法传递的参数、cookie 和用户认证。Request 对象使您能够访问客户端发送给服务器的二进制数据。

laravel Request实例子

如果你在一个命名空间里,你需要在类文件的顶部使用 use Request; 这条声明来导入 Request 这个 facade 。

<?php
namespace App\Http\Controllers\Seodd;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class DemoController extends Controller
{
    //获取所有请求参数
    public function panmouren(Request $request){
        $row = Request::all();
        $row = $request->all();
        dd($row);
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13

注意:可以这么理解大多数情况下,使用的时候‘Request::’等价于‘$request->’。

检索输入

使用几个简单的方法,你可以得到在 Illuminate\Http\Request 实例上的用户的所有的输入。你不用管请求使用的 HTTP 动作是什么,可以使用同样的方法来得到所有的输入的值。

input

$name = Request::input('name');
1
$name = $request->get('name');
1

以上两种方法都可以实现,适用于在获取http请求提交的参数,‘name’为需要获取的提交的参数名称。

确定是否存在一个参数

//确定是否存在一个参数
if (Request::has('name'))
{
  //确定是否存在一个参数
}
1
2
3
4
5

只获取部分参数

//只获取部分参数
$formdata = Request::only('username', 'password');
1
2

除去某个参数

//除去某些参数
$formdata = Request::except('username', 'password');
1
2

获取除了’username’, ‘password’,所有Request请求中的参数

Cookies操作

Laravel 框架创建的所有的 Cookies 都是加密的,并且会签上一个认证的代码,意思就是如果这些 Cookies 在客户端那里被修改过,就会被认为是无效的 Cookies。
Laravel 框架自带的csrf令牌有有效的避免xss等攻击行为的出现。

获取cookie值

$value = Request::cookie('seodd');
1

获取了name为“seodd”的cookie的值

文件

file 方法返回来的对象是 Symfony\Component\HttpFoundation\File\UploadedFile 类的一个实例,这个类继承了 PHP 的 SplFileInfo 类,提供了很多方法可以跟文件交互。

检索一个上传了的文件

$file = Request::file('seodd');
1

注意文件类操作时候务必引用相关依赖的类‘use Symfony\Component\HttpFoundation\File\UploadedFile’

确定一个文件是否存在

if (Request::hasFile('seodd'))
{
  //确定是否存在seodd这个文件
}
1
2
3
4

laravel Request的所有方法详解

确定上传的文件是否有效

if (Request::file('seodd')- isValid())
{
  //确定是否存在seodd这个文件,是否是一个有效文件
}
1
2
3
4

获取url

laravel中我们常常需要获取当前的url,但是每个获取的都不一样,我们有时候需要获取的需求也不相同,所以我这里汇总一下,方便以后查询和使用。

// 返回当前页面的完整路径url: http://chateach.com/aa/bb
Request::url();
$request->url()

// 路径: /seo/suanfa
Request::path();
$request->path();

// 获取请求 Uri: /seo/suanfa/?c=d
Request::getRequestUri();
$request->getRequestUri();

// 获取 Uri: http://chateach.com/seo/suanfa/?c=d
Request::getUri();
$request->getUri();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

检索请求方法

$method = Request::method();
if (Request::isMethod('post'))
{
  //判断是否是一个post请求
}
1
2
3
4
5

确定请求路径是否匹配一个模式

if (Request::is('seo/*'))
{
  //确认是否能够匹配到url路径为“seo/*”
}
1
2
3
4

获取url地址

//获取完成url地址
$url = Request::url();
//获取url路径部分
$url = Request::path();
1
2
3
4

获取请求的ip

$ip = $request->ip();
1

获取端口

$port = $request->getPort();
1

获取请求头信息

$res = $request->header('Connection')
1
申明:本站内容仅代表个人观点,仅供学习参考;未经授权任何个人或组织单位不得复制、转载、摘编以及其它形式的应用! 本站文章可能使用到互联网上的资料,若对您造成困扰,请联系 kk19@foxmail.com除理 本文地址:https://www.chateach.com/it/laravel/837
相关文章
  • JavaScript == 与 === 区别

    == 与 === 区别

    js中==和===的区别 ==和===的区别和一些比较规则: == 在比较类型不同的变量时,会进行数据类型转化,将二者转换成数据类型相同的变量,再进行比较。对于 string、number 等基础类型,== 和 === 是有区别的 a)不同类型间比较,== 之比较 "转化成同一类型后的值" 看 "值" 是否相等,=== 如果类型不同,其结果就是不等。

    807
    • == 与 === 区别
  • js在for循环中的闭包的解决方法

    js闭包

    js在for循环中的闭包的解决方法,实现点击li标签获取标签的所处位置。

    981
    • js闭包
  • html网页如何禁止打印页面

    禁止打印页面

    html网页如何禁止打印页面方式,可以禁止打印键盘的快捷键组合,但是用户可以直接鼠标操作浏览器来实现打印;所以通过css来屏蔽打印内容的输出更加的合理有效,代码如下所示。

    1577
    • 禁止打印页面
  • php如何匹配特定的汉字字母英文preg_match_all方法实现

    preg_match_all,php匹配字符串

    php如何从字符串匹配特点的内容,preg_match_all如何匹配字符串内容,数字、字符、字母,正则匹配,php正则表达式中preg_match_all函数的详解。

    1053
    • preg_match_all
    • php匹配字符串
  • 原生AJAX请求实例教程

    AJAX

    如何使用原生javascript进行ajax数据请求呢?可以不重新加载整个网页通过刷新网页部分内容达到数据的更新展示。可以有效的降低对带宽的需求,提高网页的性能;Ajax有同步和异步两种实现方式。

    1084
    • AJAX
  • Laravel邮件发送功能的实现例子

    Laravel邮件发送

    Laravel如何发送邮件呢?Laravel邮件发送功能的实现例子,从邮箱注册配置到,laravel邮件参数配置,提供纯文本邮件和富文本邮件发送两种邮件发送实例。

    1611
    • Laravel邮件发送
  • linux系统CentOS发送邮件

    CentOS发送邮件

    如何在linux、ubuntu、centos系统中发送邮件,如定时发送网站日志,或者服务器信息状态,如何在centos系统中配置邮件发送功能。

    1354
    • CentOS发送邮件
  • 手把手教你建立一个自己的网站

    零基础建站

    本站的主要的是分享自己建站过程中遇到的各种问题和解决方案,适合没有任何基础但是想要建立自己的一个网站的朋友,其实如果想要简单的入门让一个网站跑起来是非常的简单的。如果说是采用wordpress等CMS系统来搭建一个网站的话就更加简单了。进本上只要动手能力自学能力强一点,基本上几个小时就可以让一个站点运行起来。

    1572
    • 零基础建站
  • SpringBoot——Thymeleaf中的条件判断

    Thymeleaf

    SpringBoot——Thymeleaf中的条件判断(th:if、th:unless、th:switch、th:case),th:if、th:unless、th:switch、th:case 这几个属性,其实和JSP里面的那些标签都是类似的,含义就可以理解为Java语言中的if、else、switch-case这些条件判断一样,所以这里就不再详细叙述了,下面就直接给出例子!!!

    1639
    • Thymeleaf
  • lnmp环境简介

    lnmp环境简介

    LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python。

    1321
    • lnmp环境简介
  • 百度富文本编辑器超链接添加nofollow

    编辑器添加nofollow

    如何给百度富文本编辑器超链接添加nofollow,即如何给百度文本编辑器添加一个nofollow标签添加的功能,可以方便文本编辑超链接的时候,对站外或者站内的链接添加nofollow标签,有效的防止站点权重的分散。

    1860
    • 编辑器添加nofollow
  • centos系统如何修改超级管理员root用户名

    root用户名修改,centos系统

    centos系统修改超级管理员root用户名实例演示,只要简单的将超级管理员root用户修改掉,那么被暴力破解几率就会直线下降。

    1204
    • root用户名修改
    • centos系统
  • linux换将下安装Composer的方法

    Composer安装

    linux换将下安装Composer的方法,对于需要使用laravel框架开发站点,安装Composer是非常有必要的,可以使得laravel的安装管理变得更加的方便快捷。

    1058
    • Composer安装
  • 网站本地服务器搭建

    centos系统安装

    网站搭建第一步本地服务器的架设centos系统安装,对于刚接触网站编程的小伙伴不要先急着去购买服务器,当然土豪请随意。我们可以现在自己电脑上本地搭建一个虚拟服务器环境来运行,可以检测下自己是不是真的能力去搭建一个网站。

    962
    • centos系统安装
  • Java实现哈希加解密(HmacSHA1、HmacMD5、HmacSHA256、HmacSHA512)

    Java哈希加解密

    什么是Hash,Java实现哈希加解密(HmacSHA1、HmacMD5、HmacSHA256、HmacSHA512),哈希算法不可逆,不同的源数据使用同样的哈希算法,可能会产生相同的哈希值,这被称之为碰撞率(collision rate),即使是 MD5 算法,碰撞率也非常小,小到几乎可以忽略不计。大约是 1.47*10的负29次方。

    1926
    • Java哈希加解密
  • 拥有一个博客网站需要多少钱

    博客网站

    如果你喜欢记录生活,那么拥有一个个人的博客网站还是非常不错的,从此你不再需要遵守任何平台的规则,只需要遵守我国法律即可。人生在世短短几十年,为短暂的人生留下点痕迹,成为数字世界的终极身份证。今天潘某人SEO就为大家大致的总结一下拥有一个自己网站需要哪几步并需要多少花费。

    520
    • 博客网站
  • js中的数组元素的添加方法

    js数组添加元素

    js中的数组元素的添加方法,主要有三种方法,用索引元素添加、push( )方法、unshift()方法,push()方法在数组的尾部添加一个或多个元素,并返回数组新的长度,修改并替换了原始数组而非生成一个修改版的新数组。

    659
    • js数组添加元素
  • php时间增减操作

    时间删减

    php时间增减操作,如何获取当前时间加减几个小时、几个星期、几个月。如何时间快速简单的对时间的一个计算呢?

    1232
    • 时间删减
-- 这已经是底线了,看看别的把! --