thinkphp中i方法的代碼是“I(‘變量類型.變量名’,[‘默認值’],[‘過濾方法’],[‘額外數據源’])”;i方法命名來自“input”,是輸入的意思,用于更加方便和安全的獲取系統輸入變量,必要時還可以對變量值進行過濾及強制轉換。
本文操作環境:Windows10系統、ThinkPHP5版、Dell G3電腦。
thinkphp中i方法的代碼是什么
是ThinkPHP眾多單字母函數中的新成員,其命名來自于英文Input(輸入),主要用于更加方便和安全的獲取系統輸入變量,可以用于任何地方,用法格式如下:
I(‘變量類型.變量名/修飾符’,[‘默認值’],[‘過濾方法或正則’],[‘額外數據源’])
變量類型是指請求方式或者輸入類型,包括:
立即學習“PHP免費學習筆記(深入)”;
注意:變量類型不區分大小寫。
變量名則嚴格區分大小寫。
默認值和過濾方法均屬于可選參數。
用法
我們以GET變量類型為例,說明下I方法的使用:
echo?I('get.id');?//?相當于?$_GET['id'] echo?I('get.name');?//?相當于?$_GET['name']
支持默認值:
echo?I('get.id',0);?//?如果不存在$_GET['id']?則返回0 echo?I('get.name','');?//?如果不存在$_GET['name']?則返回空字符串
采用方法過濾:
echo?I('get.name','','htmlspecialchars');?//?采用htmlspecialchars方法對$_GET['name']?進行過濾,如果不存在則返回空字符串
支持直接獲取整個變量類型,例如:
I('get.');?//?獲取整個$_GET?數組
用同樣的方式,我們可以獲取post或者其他輸入類型的變量,例如:
I('post.name','','htmlspecialchars');?//?采用htmlspecialchars方法對$_POST['name']?進行過濾,如果不存在則返回空字符串 I('session.user_id',0);?//?獲取$_SESSION['user_id']?如果不存在則默認為0 I('cookie.');?//?獲取整個?$_COOKIE?數組 I('server.REQUEST_METHOD');?//?獲取?$_SERVER['REQUEST_METHOD']
param變量類型是框架特有的支持自動判斷當前請求類型的變量獲取方式,例如:
echo?I('param.id');
如果當前請求類型是GET,那么等效于 $_GET[‘id’],如果當前請求類型是POST或者PUT,那么相當于獲取 $_POST[‘id’] 或者 PUT參數id。
并且param類型變量還可以用數字索引的方式獲取URL參數(必須是PATHINFO模式參數有效,無論是GET還是POST方式都有效),例如:
當前訪問URL地址是
http://serverName/index.php/New/2013/06/01
那么我們可以通過
echo?I('param.1');?//?輸出2013 echo?I('param.2');?//?輸出06 echo?I('param.3');?//?輸出01
事實上,param變量類型的寫法可以簡化為:
I('id');?//?等同于?I('param.id') I('name');?//?等同于?I('param.name')
推薦學習:《PHP視頻教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦