Laravel接收用户的输入

接收用户输入的类:Illuminate\Support\Facades\Input

Facades:“门面”的思想。门面是介于一个类的实例化与没有实例化中间的一个状态。其实是类的一个接口实现。在这个状态下可以不实例化类但是可以调用类中的方法。说白了就是静态方法。

Input::get(‘参数的名字’, ‘如果参数没有被传递使用该默认值’)

  1. Input::all(): 获取所有的用户的输入
  2. Input::get(''): 获取单个的用户的输入
  3. Input::only([ ]): 获取指定几个用户的输入
  4. Input::except([ ]): 获取指定几个用户的输入以外的所有的参数
  5. Input::has('name'):判断某个输入的参数是否存在

上述方法即既可以获取get中的信息,也可以获取post中信息

常用方法

  • Input::get(‘参数的名字’[, ‘如果参数没有被传递使用该默认值’])
  • Input::all()
  • 获取所有的用户的输入
  • Input::get()
  • 获取单个的用户的输入
  • Input::only([])
  • 获取指定几个用户的输入
  • Input::except([ ])
  • 获取指定几个用户的输入以外的所有的参数
  • Input::has()
  • 判断某个输入的参数是否存在

注意事项

我们如果要使用这个facades,则必须引入,就像这样:

  1. Use Illuminate\Support\Facades\Input

可这样太长了,所以我们可以定义别名,用别名的形式引入,配置别名app.php

位于:config/app.php

配置别名

打开app.php

找到aliases数组

找找有没有存在的Illuminate\Support\Facades\Input,若没有,则添加

在数组的末尾,添加自己的别名

  1. Input => Illuminate\Support\Facades\Input::class,

然后控制器中我们只需要直接

  1. use Input;

可以在config/app.php中定义长串的别名(在aliases数组中定义别名)

img

编写测试的由:

img

在laravel中友好输出函数:dd()

作用:dump+die,后续的代码不会执行。

img

提示:在laravel中不仅仅是Input门面可以获取用户的输入,Request门面也可以获取用户输入的,其语法和Input一样,也存在get、all、only等方法。

依赖注入 (这一点和tp的是一样的)

  1. <?php
  2. namespace App\Http\Controllers\admin;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request;
  5. class IndexController extends Controller
  6. {
  7. public function index(Request $request){
  8. // 访问;链接http://blog.com/admin?id=6&name=zhang&age=18
  9. // 你可以使用 all 方法来获取 array 类型的全部输入数据
  10. $input = $request->all();
  11. print_r($input);
  12. // 获取其中一个输入数据
  13. $name = $request->input('name');
  14. echo $name;
  15. // 你可以在 input 方法第二个参数传入一个默认值
  16. $name = $request->input('name', 'Sally');
  17. // 你也可以使用无参数的 input 方法来获取全部输入的关联数组
  18. $input = $request->input();
  19. }
  20. }

门面类

  1. <?php
  2. namespace App\Http\Controllers\admin;
  3. use App\Http\Controllers\Controller;
  4. use Request;
  5. class IndexController extends Controller
  6. {
  7. public function index(){
  8. print_r(Request::input());
  9. var_dump(Request::has('age'));
  10. }
  11. }

从查询字符串获取输入

input 方法可以从整个请求体中获取数据(包括查询字符串), 而 query 方法仅仅从查询字符串中获取输入值:

  1. $input = $request->query('name');

如果请求中所需要的查询字符串字段不存在,第二个参数将会被返回:

  1. $name = $request->query('name','Helen');

你也可以使用无参数的 query 方法来获取全部查询条件的关联数组:

  1. $query = $request->query();

通过动态属性获取输入

你也可以通过 Illuminate\Http\Request 接口实例的动态属性访问用户的输入。例如你的一个表单中包含 name 字段,则可以通过下面这种方式获取:

  1. $name = $request->name;

当使用动态属性时,Laravel 将会先从请求体中查找参数。如果该值不存在,则从路由参数中查找。

判断输入值是否存在

你可以使用 has 来判断当前请求中是否含有指定的值。如果请求中存在该值则 has 方法将会返回 true

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

当给定一个数组时,has 将会判断指定的值是否全部存在:

  1. if ($request->has(['name', 'email'])) { //}

hasAny 方法将会在指定的值有一个存在的情况下返回 true

  1. if ($request->hasAny(['name', 'email'])) { //}

如果你想要判断一个值在请求中是否存在,并且不为空,可以使用 filled 方法:

  1. if ($request->filled('name')) { //}

如果你想要判断一个值在请求中是否缺失,可以使用 missing 方法:

  1. if ($request->missing('name')) { //}

更多相关文章

  1. 博客文章如何获取SEO流量
  2. php获取当前的定位城市
  3. php之动态分页
  4. 魔兽无限金钱秘籍怎么输入
  5. Java 获取 Word 中指定图片的坐标位置
  6. Python操作各种数据库
  7. laravel获取IP地址的真实地理位置
  8. java获取指定年月的开始时间与结束时间
  9. 获取当天最大或最小日期

随机推荐

  1. Android中ListView的addFooterView不显示
  2. getprop 获取android系统属性
  3. Android安卓51个开源代码
  4. 安卓(Android)实现选择时间功能
  5. Android 权限汇总
  6. android 应用程序Activity之间数据传递与
  7. 点击LinearLayout使用selector改变TextVi
  8. Android Studio 第五十六期 - Android之
  9. ListActivity setContentView 错误
  10. android:Spinner(下拉框)控件的使用