Laravel学习日记-Request对象
in LaravelPHP with 1 comment

Laravel学习日记-Request对象

in LaravelPHP with 1 comment

说明

简介

Request 对象放置着此次请求的全部信息.
Request类在:IlluminateHttpRequest
如:
请求方式(get/post)
请求参数 ($\_POST,$\_FILES)
请求路径 ( 域名后的部分 )
请求 cookie 等诸多信息 , 都存到的 Request 对象上
注:
不要使用var_dump去打印 Request 对象,因为这样会占用系统非常大的资源,而是要使用 laravel 自带的 dd() 方法。

声明

首先引入 Request 类:

use Illuminate\Http\Request;

在方法中,声明第1个参数为 Request 类型参数,即可自动接收.
Request 作为方法的第1个参数出现.
另:如果方法中有路由器绑定的参数,不受影响.例:

Route::get('/del/{$id}');
    public function del(Request $request , $id) {
    // $id 参数虽然到第 2 个参数去了,但不会受影响.
}

获取输入值

如果你应用程序的表单含有一个 name 字段,你可以从传递的字段访问它的值,像这样:

$name = $request->name;

可以在 input 方法的第二个参数中传入一个默认值。当请求的输入数据不存在于此次请求时,就会返回默认值:

$name = $request->input('name', 'default');

如果是「数组」形式的输入数据,则可以使用「点」语法来获取数组:

$input = $request->input('products.0.name');

确认是否有输入值

要判断数据是否存在于此次请求,可以使用 has 方法。

if ($request->has('name')) {
    //
}

获取部分输入数据

使用 onlyexcept 方法获取输入数据的子集:

$input = $request->only(['username', 'password']);

$input = $request->only('username', 'password');

$input = $request->except(['credit_card']);

$input = $request->except('credit_card');
Responses
icon_mrgreen.gificon_neutral.gificon_twisted.gificon_arrow.gificon_eek.gificon_smile.gificon_confused.gificon_cool.gificon_evil.gificon_biggrin.gificon_idea.gificon_redface.gificon_razz.gificon_rolleyes.gificon_wink.gificon_cry.gificon_surprised.gificon_lol.gificon_mad.gificon_sad.gificon_exclaim.gificon_question.gif