GET请求URL:http://laravel.test.com/article?id=1000&name=jx
注意:URL的参数和laravel的路由参数不是一种规则
Route::get('article','TestController@index');
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class TestController extends Controller
{
//Request $request 使用PHP参数注入反射对象参数
public function index(Request $request){
//1. 基本信息
$request->method();//请求方式: GET
$request->isMethod('post');//判断请求方式: false
$request->path();//请求路径: article
$request->url();//完整URL: http://laravel.test.com/article
$request->ip();//IP: 127.0.0.1
$request->getPort();//端口: 80
//2. 提取请求参数
$request->input('id');//参数接收: 1000
$request->input('id',1);//设置默认值: 如果id没有传1为id的默认值
$request->has('id');//检测含有: true
$request->all();//提取所有参数: { ["s"]=> "/request" ["id"]=> "1000" ["name"]=> "jx" }
$request->only(['id','name']);//提取部分参数:{ ["id"]=> "1000" ["name"]=> "jx" }
$request->except(['id','name']);//剔除参数: { ["s"]=> "/request" }
$request->header();//请求头信息: 见下图
//3. 文件上传 表单name值:input-file-name
$request->hasFile('input-file-name');//检测文件是否存在: true
if($request->hasFile('input-file-name')){
//移动文件两个参数:1. 存储位置 ./upload相对入口文件。 2. 文件名称:newfile.jpg
$request->file('input-file-name')->move('./upload...','newfile.jpg');
}
//4. cookie操作
//第一种方式写入
Cookie::queue('name','learn-laravel',10);//参数设置:1.键名 2. 键值 3. Cookie设置时间单位分钟
//第二种方式写入
Cookie::queue(Cookie::make('name','learn-laravel',10));//参数设置:1.键名 2. 键值 3. Cookie设置时间单位分钟
//读取
$Cookie= $request->cookie('name');
$Cookie= Cookie::get('name');
//5. 闪存信息
//作用:当表单提交有误的时候可以通过本次获取一次提交的信息放入到输入框中增强用户的体验感
$request->flash();//全部信息存入闪存:
$request->flashOnly('title','price');//部分信息存入闪
$request->flashExcept('title','price');//除去不分信息存入闪存
Session::flash('title','price');//自定义闪存
$request->old('title');//获取闪存信息
}
}
请求头信息数据图: