在laravel框架获取输入是非常的方便,它提供了多种方法来获取输入。
在laravel中使用Illuminate\Http\Request实例来接受请求,如下
use Illuminate\Http\Request; $request = new Request(); echo $request->method();
可以用简便的自动注入方法,使用如下:
method()); } }
获取请求路径和请求方法
获取请求方法非常的简单,使用method方法即可。另外,还有一个判断当前请求动作的方法isMethod
if ($request->isMethod('post')) { // ... }
获取请求路径的方法也有几个,它们之间是有区别的,比如对一个URL地址:http://example.com/path1/path2?a=23&b=3,三个方法能获得的值分别如下:
path():获取路径,path1/path2
url():获取url地址,但不含?及后面字符串。http://example.com/path1/path2
fullUrl():获取完整的路径。http://example.com/path1/path2?a=23&b=3
获取输入
下面从几个方面看获取输入,如获取全部输入或获取单个输入获取部分输入等。
获取全部输入
获取全部输入有两种方法可以得到,all()以及input()。input中不加任何参数表示接受全部的意思:
$request->all(); // or $request->input();
获取一个输入
获取一个输入,也是使用input方法,但是要给第一个参数,该参数表示需要获取的字段的值。
$request->input('name');
input还可以接受第二个参数,该参数是当没有获取到字段值时设置的默认值。如:
$request->input('name', 'php.cn');
除此之外,input还能获取数值及json数据,获取时使用操作符“.”
$request->input('users.name'); $request->input('users.0.name'); $request->input('users.*.name');
除了input方法外,还有一个query方法也可以获取输入,但是它们的区别是,input能从表单和查询字符串获取输入,而query方法只能从查询字符串获取输入。query方法和input方法的用法是一样的,这里就不做演示了。
还有一种简单获取输入方法,叫做动态获取输入,可以直接通过属性来获取输入。比如表单中含有name字段,那么就可以通过以下方法获取
$request->name;
但要注意的是,Laravel 将会先从请求体中查找参数。如果该值不存在,则从路由参数中查找。
获取一个bool值
laravel提供一个获取字段值并主动将它转换为bool类型值的函数,该方法是boolean。
if ($request->boolean('name')) { // ... }
判断值是否存在
判断一个输入值是否存在有几个方法,用法稍微有些区别。has和filled都可以用来判断输入值是否存在,但区别在于:has只要该字段值存在就返回真。而filled不仅存在而且还要不为空的情况才返回真。
has还可以用来判断多个字段,如果多个字段值都存在就返回真,否则返回假
if ($request->has(['name', 'email'])) {}
而hasAny则只有有一个字段值存在就返回真
if ($request->hasAny(['name', 'email'])) {}
获取部分输入
laravel还能够获取部分输入,使用only或except方法,它们的用法和功能完全一样。返回的是一个关联数组:
$request->only('name', 'email'); // or $request->only(['name', 'email']);
Das obige ist der detaillierte Inhalt vonlaravel的HTTP请求:获取输入信息. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Einführung in Laravel-Komponenten
Einführung in die Laravel-Middleware
Welche Designmuster verwendet Laravel?
Was ist einfacher, Thinkphp oder Laravel?
Einführung in parametrische Modellierungssoftware
So löschen Sie die letzte leere Seite in Word
Häufig verwendete Datenbanksoftware
So erstellen Sie HTML mit Webstorm