在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 ...