13.)PHPWeb开发框架~Laravel接收用户的输入的类
Laravel接收用户的输入
接收用户输入的类:Illuminate\Support\Facades\Input
Facades:“门面”的思想。门面是介于一个类的实例化与没有实例化中间的一个状态。其实是类的一个接口实现。在这个状态下可以不实例化类但是可以调用类中的方法。说白了就是静态方法。
Input::get(‘参数的名字’, ‘如果参数没有被传递使用该默认值’)
Input::all(): 获取所有的用户的输入
Input::get(''): 获取单个的用户的输入
Input::only([ ]): 获取指定几个用户的输入
Input::except([ ]): 获取指定几个用户的输入以外的所有的参数
Input::has('name'):判断某个输入的参数是否存在
上述方法即既可以获取get中的信息,也可以获取post中信息。
常用方法
- Input::get(‘参数的名字’[, ‘如果参数没有被传递使用该默认值’])
- Input::all()
- 获取所有的用户的输入
- Input::get()
- 获取单个的用户的输入
- Input::only([])
- 获取指定几个用户的输入
- Input::except([ ])
- 获取指定几个用户的输入以外的所有的参数
- Input::has()
- 判断某个输入的参数是否存在
注意事项
我们如果要使用这个facades,则必须引入,就像这样:
Use Illuminate\Support\Facades\Input
可这样太长了,所以我们可以定义别名,用别名的形式引入,配置别名app.php
位于:config/app.php
配置别名
打开app.php
找到aliases数组
找找有没有存在的Illuminate\Support\Facades\Input,若没有,则添加
在数组的末尾,添加自己的别名
‘Input’ => Illuminate\Support\Facades\Input::class,
然后控制器中我们只需要直接
use Input;
则可以在config/app.php中定义长串的别名(在aliases数组中定义别名):
编写测试的由:
在laravel中友好输出函数:dd()
作用:dump+die,后续的代码不会执行。
提示:在laravel中不仅仅是Input门面可以获取用户的输入,Request门面也可以获取用户输入的,其语法和Input一样,也存在get、all、only等方法。
依赖注入 (这一点和tp的是一样的)
<?php
namespace App\Http\Controllers\admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class IndexController extends Controller
{
public function index(Request $request){
// 访问;链接http://blog.com/admin?id=6&name=zhang&age=18
// 你可以使用 all 方法来获取 array 类型的全部输入数据
$input = $request->all();
print_r($input);
// 获取其中一个输入数据
$name = $request->input('name');
echo $name;
// 你可以在 input 方法第二个参数传入一个默认值
$name = $request->input('name', 'Sally');
// 你也可以使用无参数的 input 方法来获取全部输入的关联数组
$input = $request->input();
}
}
门面类
<?php
namespace App\Http\Controllers\admin;
use App\Http\Controllers\Controller;
use Request;
class IndexController extends Controller
{
public function index(){
print_r(Request::input());
var_dump(Request::has('age'));
}
}
从查询字符串获取输入
input
方法可以从整个请求体中获取数据(包括查询字符串), 而 query
方法仅仅从查询字符串中获取输入值:
$input = $request->query('name');
如果请求中所需要的查询字符串字段不存在,第二个参数将会被返回:
$name = $request->query('name','Helen');
你也可以使用无参数的 query
方法来获取全部查询条件的关联数组:
$query = $request->query();
通过动态属性获取输入
你也可以通过 Illuminate\Http\Request
接口实例的动态属性访问用户的输入。例如你的一个表单中包含 name
字段,则可以通过下面这种方式获取:
$name = $request->name;
当使用动态属性时,Laravel 将会先从请求体中查找参数。如果该值不存在,则从路由参数中查找。
判断输入值是否存在
你可以使用 has
来判断当前请求中是否含有指定的值。如果请求中存在该值则 has
方法将会返回 true
:
if ($request->has('name')) { //}
当给定一个数组时,has
将会判断指定的值是否全部存在:
if ($request->has(['name', 'email'])) { //}
hasAny
方法将会在指定的值有一个存在的情况下返回 true
:
if ($request->hasAny(['name', 'email'])) { //}
如果你想要判断一个值在请求中是否存在,并且不为空,可以使用 filled
方法:
if ($request->filled('name')) { //}
如果你想要判断一个值在请求中是否缺失,可以使用 missing 方法:
if ($request->missing('name')) { //}
更多相关文章
- 博客文章如何获取SEO流量
- php获取当前的定位城市
- php之动态分页
- 魔兽无限金钱秘籍怎么输入
- Java 获取 Word 中指定图片的坐标位置
- Python操作各种数据库
- laravel获取IP地址的真实地理位置
- java获取指定年月的开始时间与结束时间
- 获取当天最大或最小日期