Home  >  Article  >  Backend Development  >  Introduction to thinkphp5's get and post data encapsulation methods (code)

Introduction to thinkphp5's get and post data encapsulation methods (code)

不言
不言forward
2019-02-15 13:15:324857browse

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[&#39;status&#39;] =input(&#39;get.status&#39;);
     $where[&#39;atype&#39;] =input(&#39;get.atype&#39;); 
     $where[&#39;nireid&#39;] =input(&#39;get.nireid&#39;);
     $this->assign(&#39;where&#39;,$where);
     $this->assign(UserExtractModel::systemPage($where));
     return $this->fetch();
}

2. In fact, we can do this

public function index(){ 
     $where = self::getMore([
          [&#39;status&#39;,&#39;&#39;],
          [&#39;atype&#39;,&#39;&#39;],
          [&#39;nireid&#39;,&#39;&#39;],
     ],$this->request);
     $this->assign(&#39;where&#39;,$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] = &#39;&#39;;
               $name = is_array($param[1]) ? $param[0].&#39;/a&#39; : $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!

Statement:
This article is reproduced at:csdn.net. If there is any infringement, please contact admin@php.cn delete