在mvc框架中,接收参数属于控制器controller层去做的事情,在laravel开发中接收用户请求参数是比较常用的,这里介绍laravel中接收参数有哪几种方法。

获取post参数

通过$request获取post参数

//post参数获取方式1
public function save(Request $request)
{
    $params_only = $request->only(['id', 'name', 'password']);  //获取部分参数

    $params_all = $request->all();  //获取所有参数

    $params_many = $request->except(['_token', '_csrf']); //获取除了_token和_csrf之外的所有参数,这个很有用,可以过滤掉laravel自动生成的token
    
    $request->has('name');//判断参数是否存在

}

通过request()辅助函数获取post参数,和上面基本类似。

//post参数获取方式2
public function save(Request $request)
{
    $params_only = request()->only(['id', 'name', 'password']);  //获取部分参数

    $params_all = request()->all();  //获取所有参数

    $params_many = request()->except(['_token', '_csrf']); //获取除了_token和_csrf之外的所有参数
    
   request()->has('name');//判断参数是否存在


}

通过use Illuminate\Support\Facades\Input;该方法在laravel5.2以上版本被废除,不建议使用。 

//post参数获取方式3 注意:该方法在laravel5.2以上版本被废除,不建议使用。
public function save(Request $request)
{
    $params_only = Input::only(['name']);//部分参数

    $params_all = Input::all();  //获取所有参数

    $params_many = Input::except(['_tokne','_csrf']);//获取除了_token和_csrf之外的所有参数

    Input::has('name');//判断参数是否存在

}

获取get参数

public function find(Request $request)
{
   
    $param1 = $request->get('name', '默认值');//第1种方式 默认值表示没有参数的时候为它
    
    $param1 = request()->get('name','默认值');//第2种方法

}

判断method请求方式

method用于判断是get、post、put、delete还是其它的请求方式。

request()->isMethod(''); //方法1 get post delete put ...
$request->isMethod(''); //方法2 get post delete put ...