이 기사는 thinkphp5의 데이터 캡슐화 방법(코드)을 소개합니다. 필요한 친구들이 참고할 수 있기를 바랍니다.
thinkphp5 가져오기 및 게시 데이터 캡슐화
1. 보기(데이터를 가져오는 html 페이지)
2. 컨트롤러
1. 보기(데이터를 가져오는 html 페이지)
<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. 컨트롤러
1. 일반적인 상황에서는 이렇게 작동합니다
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. 실제로는 이렇게 할 수 있습니다
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; }
(thinkRequest를 사용하는 것을 잊지 마세요;)
(게시물과 동일)
위 내용은 thinkphp5의 데이터 캡슐화 방법 가져오기 및 게시 방법 소개(코드)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!