仿写thinkphp的I方法
生活随笔
收集整理的這篇文章主要介紹了
仿写thinkphp的I方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
自己定義一個方法仿寫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;}//如果取參數為空 而且該參數設置有默認值 則使用默認值return $result;//返回參數 } ?>?調用的時候 I("post.id") ?I("get.id") 即可
如果想接受多個 可以再定義一個函數 ALL_I
<?php function ALL_I($key_list=array(),$method="post") {$data=array();//定義結果數組if(!empty($key_list)){//鍵字段數組不為空的情況下遍歷接收foreach ($key_list as $key => $v) {$data[$v]=I($method.".".$v);//將參數提取方式和鍵組合在一起通過I 函數獲取 }} return $data;//返回數組 } ?>調用的時候?ALL_I(array("id","name","user"),"get") ?即可
總結
以上是生活随笔為你收集整理的仿写thinkphp的I方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Ubuntu 16.10 安装 git
- 下一篇: Java必备:java入门、java学习