laravel-request()

使用Request类:php

<?php
namespace App\Http\Controller;

use Illuminate\Http\Reuest;
class UserController extends Controller
{
	public function store(Request $request){
		$name = $request->input('name');
	}	
}

获取请求路径

//path()返回请求的路径信息。当传入的请求的目标地址是 ```http://domain.com/foo/bar```,那么 path 将会返回```foo/bar```;
$uri = $request->path();  
//ls() 能够验证传入的请求路径和指定的规则是否匹配。使用这个方法时也能够传递一个```*```字符串做为通配符

if($request->ls('admin/*')){
	//
}

获取请求的URL

//Without Query String...
$url = $request->url();

// With Query String
$url = $request->fullUrl();

获取HTTP请求方式

$method = $request->method();

if($request->isMethod('post')) {
	//some code...
}

获取输入

  1. all()以数组的形式获取到全部的输入数据
$input = $request->all();
  1. 处理获取数据
$data = array_filter($request->input(),'not_null'); #删除null项
$data = array_map('null_to_space',$request->input()); #null项转为空字符
  1. 获取指定数据
$name = $request->input('name');  //获取input的name值
$name = $request->input('name', '');  //获取name值,若是请求的输入值不存在请求上,就返回默认值 ‘’
$name = $request->input('product.0.name');  //获取数组中的数据
  1. 肯定是否存在输入值
    返回true或false
if($request->has('name')) {
	//some code...
}

has参数为数组是,肯定是否存在数组中全部给定的值:
if($request->has(['name', 'email'])){
	//some code...
}
  1. 肯定请求中是否存在值而且不为空,使用filled方法:
if($request->filled('name')){
	//some code...
}

旧输入

  1. 将输入闪存至Session
    Illuminate\Http\Request 的 flash 方法会将当前输入的数据存进 session 中,以便用户下次发送请求到应用程序以前使用它。
$request->flash();
$request->flashOnly(['username', 'email']);
$request->flashExcept('password');
  1. 闪存后的重定向
    有时候须要将输入闪存到 session 而后重定向到上一页,这时只须要在重定向方法后加上 withInput 便可
return redirect('form')->withInput();

return redirect('form')->withInput(
	$request->except('password');
);
  1. 获取旧输入
$username = $request->old('username');

<input type="text" name="username" value="{
   
   {old('username')}}">

cookies

  1. 获取Cookie
$value = $request->cookie('name');

猜你喜欢

转载自blog.csdn.net/lvshuocool/article/details/122574593