仿写thinkphp的I方法
生活随笔
收集整理的這篇文章主要介紹了
仿写thinkphp的I方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
自己定義一個方法仿寫thinkphp的I 方法
<?php function I($key="",$default='',$function="") {$method="get";//默認是get的方式取if(strpos($key,".")!==false){list($method,$key)=explode(".",$key,2);//如果有傳入get post 則拆分if(!in_array($method,array("get","post"))){$method="get";//強制取參方式為 get post中的一種 }}if($method==="get"){$variables=$_GET;//get方式}elseif ($method==="post") {$variables=$_POST;//post方式}else{return null;//否則取不到 返回null }$result= isset($variables[$key])?$variables[$key]:null;//從超全局變量中獲取if($function){$result=$function($result);}//如果有過濾方法 則使用過濾方法if($default==='' && $result===null){$result=$default;}//如果取參數(shù)為空 而且該參數(shù)設(shè)置有默認值 則使用默認值return $result;//返回參數(shù) } ?>?調(diào)用的時候 I("post.id") ?I("get.id") 即可
如果想接受多個 可以再定義一個函數(shù) ALL_I
<?php function ALL_I($key_list=array(),$method="post") {$data=array();//定義結(jié)果數(shù)組if(!empty($key_list)){//鍵字段數(shù)組不為空的情況下遍歷接收foreach ($key_list as $key => $v) {$data[$v]=I($method.".".$v);//將參數(shù)提取方式和鍵組合在一起通過I 函數(shù)獲取 }} return $data;//返回數(shù)組 } ?>調(diào)用的時候?ALL_I(array("id","name","user"),"get") ?即可
總結(jié)
以上是生活随笔為你收集整理的仿写thinkphp的I方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Ubuntu 16.10 安装 git
- 下一篇: 动态规划算法php,php算法学习之动态