1>获取请求的 URI
path 方法会返回请求的 URI。所以,如果接收到的请求目标是 http://domain.com/foo/bar,那么 path 方法就会返回 foo/bar:
$uri = $request->path();
is 方法可以验证接收到的请求 URI 与指定的规则是否相匹配。使用此方法时你可以将 * 符号作为通配符:
if ($request->is(‘admin/*’)) { // }
使用 url 方法,可以获取完整的网址:
$url = $request->url();
2>获取请求的方法
method 方法会返回此次请求的 HTTP 动作。也可以通过 isMethod 方法来验证 HTTP 动作和指定的字符串是否相匹配:
$method = r e q u e s t − > m e t h o d ( ) ; i f ( request->method(); if ( request−>method();if(request->isMethod(‘post’)) { // }
2.获取输入数据
获取特定输入值
你可以通过 Illuminate\Http\Request 的实例,不需要去担心发出请求时使用的 HTTP 动作,因为它们获取输入数据的方式都是相同的。
$name = $request->input(‘name’);
此外,可以使用 Illuminate\Http\Request 的属性访问用户输入。
$name = $request->name;
可以在 input 方法的第二个参数中传入一个默认值。当请求的输入数据不存在于此次请求时,就会返回默认值:
$name = $request->input(‘name’, ‘Sally’);
如果是「数组」形式的输入数据,则可以使用「点」语法来获取数组:
$input = $request->input(‘products.0.name’);
确认是否有输入值
使用 has 方法。当该数据存在并且字符串不为空时,has 方法就会传回 true:
if ($request->has(‘name’)) { // }
获取所有输入数据
你也可以使用 all 方法以 数组 形式获取到所有输入数据:
$input = $request->all();
获取部分输入数据
如果你想获取输入数据的子集,则可以使用 only 及 except 方法。这两个方法都接受单个数组或是动态列表作为参数:
$input = $request->only([‘username’, ‘password’]);
$input = $request->only(‘username’, ‘password’);
$input = $request->except([‘credit_card’]);
$input = $request->except(‘credit_card’)