當前位置:首頁 > CMS教程 > Thinkphp > 列表

thinkphp5的get和post數據封裝的方法介紹(代碼)

發布:smiling 來源: PHP粉絲網  添加日期:2019-12-25 10:16:01 瀏覽: 評論:0 

本篇文章給大家帶來的內容是關于thinkphp5的get和post數據封裝的方法介紹(代碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

thinkphp5的get和post數據封裝

一、view(html頁面獲取數據)

二、控制器

一、view(html頁面獲取數據)

  1. <form action="index"
  2.  
  3.     <input type="text" name="status" value="{$where.nireid}" placeholder="狀態" > 
  4.  
  5.     <input type="text" name="atype" value="{$where.atype}" placeholder="類型" > 
  6.  
  7.     <input type="text" name="nireid" value="{$where.nireid}" placeholder="昵稱" > 
  8.  
  9.     <button type="submit" > 搜索</button> 
  10.  
  11. </form> 

二、控制器

1、正常情況下我們是這樣操作的

  1. public function index(){  
  2.  
  3.      $where['status'] =input('get.status'); 
  4.  
  5.      $where['atype'] =input('get.atype');  
  6.  
  7.      $where['nireid'] =input('get.nireid'); 
  8.  
  9.      $this->assign('where',$where); 
  10.  
  11.      $this->assign(UserExtractModel::systemPage($where)); 
  12.  
  13.      return $this->fetch(); 
  14.  

2、其實我們可以這樣做

  1. public function index(){  
  2.  
  3.      $where = self::getMore([ 
  4.  
  5.           ['status',''], 
  6.  
  7.           ['atype',''], 
  8.  
  9.           ['nireid',''], 
  10.  
  11.      ],$this->request); 
  12.  
  13.      $this->assign('where',$where); 
  14.  
  15.      $this->assign(UserExtractModel::systemPage($where)); 
  16.  
  17.      return $this->fetch(); 
  18.  
  19.   
  20. public function getMore($params,Request $request=null,$suffix = false){ 
  21.  
  22.      if($request === null) $request = Request::instance(); 
  23.  
  24.      $p = []; 
  25.  
  26.      $i = 0; 
  27.  
  28.      foreach ($params as $param){ 
  29.  
  30.           if(!is_array($param)) { 
  31.  
  32.                $p[$suffix == true ? $i++ : $param] = $request->get($param); 
  33.  
  34.           }else
  35.  
  36.                if(!isset($param[1])) $param[1] = null; 
  37.  
  38.                if(!isset($param[2])) $param[2] = ''
  39.  
  40.                $name = is_array($param[1]) ? $param[0].'/a' : $param[0]; 
  41.  
  42.                $p[$suffix == true ? $i++ : (isset($param[3]) ? $param[3] : $param[0])] = $request->get($name,$param[1],$param[2]); 
  43.  
  44.           } 
  45.  
  46.      } 
  47.  
  48.      return $p
  49.  

(不要忘記use think\Request;)

(post同理)

以上就是thinkphp5的get和post數據封裝的方法介紹(代碼)的詳細內容。

Tags: thinkphp5 post數據封裝

分享到:

六合图库图纸印刷网