Blogger Information
Blog 128
fans 9
comment 5
visits 241154
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
13.)PHPWeb开发框架~Laravel接收用户的输入的类
 一纸荒凉* Armani
Original
1204 people have browsed it

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数组中定义别名)

img

编写测试的由:

img

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

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

img

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

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

<?phpnamespace 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();       }}

门面类

<?phpnamespace 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')) {    //}

获取请求类型,返回描述类型的字符串

$request_method = $request->method();

判断请求是否为某类型,返回布尔值

//判断请求是否为ajax,$is_ajax= $request->isMethod('ajax');//判断请求是否为get$is_get= $request->isMethod('get');//判断请求是否为post$is_post= $request->isMethod('post');
// $request -> isMethod('get') 依赖注入// Request::isMethod('get') 门面类public function index(Request $request){    //判断请求类型    if($request -> method() == 'POSt'){        //验证添加修改    }else{         //展示视图        return view('home/test/test13');    }    if ($request->isMethod('post')) {        //验证添加修改    } else if(Request::isMethod('get')){        //展示添加修改视图    }}
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post