This article brings you an introduction to the get and post data encapsulation methods of thinkphp5 (code). It has certain reference value. Friends in need can refer to it. I hope it will help You helped.
thinkphp5 get and post data encapsulation
1. View (html page to get data)
2. Controller
1. View (get data from html page)
<form action="index"> <input type="text" name="status" value="{$where.nireid}" placeholder="状态" > <input type="text" name="atype" value="{$where.atype}" placeholder="类型" > <input type="text" name="nireid" value="{$where.nireid}" placeholder="昵称" > <button type="submit" > 搜索</button> </form>
2. Controller
1. Normally we operate like this
public function index(){ $where['status'] =input('get.status'); $where['atype'] =input('get.atype'); $where['nireid'] =input('get.nireid'); $this->assign('where',$where); $this->assign(UserExtractModel::systemPage($where)); return $this->fetch(); }
2. In fact, we can do this
public function index(){ $where = self::getMore([ ['status',''], ['atype',''], ['nireid',''], ],$this->request); $this->assign('where',$where); $this->assign(UserExtractModel::systemPage($where)); return $this->fetch(); } public function getMore($params,Request $request=null,$suffix = false){ if($request === null) $request = Request::instance(); $p = []; $i = 0; foreach ($params as $param){ if(!is_array($param)) { $p[$suffix == true ? $i++ : $param] = $request->get($param); }else{ if(!isset($param[1])) $param[1] = null; if(!isset($param[2])) $param[2] = ''; $name = is_array($param[1]) ? $param[0].'/a' : $param[0]; $p[$suffix == true ? $i++ : (isset($param[3]) ? $param[3] : $param[0])] = $request->get($name,$param[1],$param[2]); } } return $p; }
(Don’t forget to use think\Request;)
(Same as post)
The above is the detailed content of Introduction to thinkphp5's get and post data encapsulation methods (code). For more information, please follow other related articles on the PHP Chinese website!