thinkphp中I方法怎么用

thinkphp中,I方法的命名來自于“Input”,用于更加安全和方便的獲取系統(tǒng)輸入變量,語法為“I(‘變量類型.變量名’,[‘默認值’],[‘過濾方法’])”;其中變量類型不區(qū)分大小寫,而變量名嚴格區(qū)分大小寫。

thinkphp中I方法怎么用

本文操作環(huán)境:Windows10系統(tǒng)、ThinkPHP5版、Dell G3電腦。

thinkphp中I方法怎么用

ThinkPHP的I方法是眾多單字母函數(shù)中的新成員,其命名來自于英文Input(輸入),主要用于更加方便和安全的獲取系統(tǒng)輸入變量,可以用于任何地方,用法格式如下:

I(‘變量類型.變量名’,[‘默認值’],[‘過濾方法’])變量類型是指請求方式或者輸入類型。

各個變量類型的含義如下:變量類型含義

立即學習PHP免費學習筆記(深入)”;

  • get獲取GET參數(shù)

  • post獲取POST參數(shù)

  • param自動判斷請求類型獲取GET、POST或者PUT參數(shù)

  • request獲取REQUEST 參數(shù)

  • put獲取PUT 參數(shù)

  • session獲取 $_SESSION 參數(shù)

  • cookie獲取 $_COOKIE 參數(shù)

  • server獲取 $_SERVER 參數(shù)

  • globals獲取 $GLOBALS參數(shù)

注意:變量類型不區(qū)分大小寫。

變量名則嚴格區(qū)分大小寫。

默認值和過濾方法均屬于可選參數(shù)。

1.用法:

我們以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?數(shù)組

用同樣的方式,我們可以獲取post或者其他輸入類型的變量,例如:

I('post.name','','htmlspecialchars');?//?采用htmlspecialchars方法對$_POST['name']?進行過濾,如果不存在則返回空字符串 I('session.user_id',0);?//?獲取$_SESSION['user_id']?如果不存在則默認為0 I('cookie.');?//?獲取整個?$_COOKIE?數(shù)組 I('server.REQUEST_METHOD');?//?獲取?$_SERVER['REQUEST_METHOD']

param變量類型是框架特有的支持自動判斷當前請求類型的變量獲取方式,例如:

echo?I('param.id');

如果當前請求類型是GET,那么等效于 $_GET[‘id’],如果當前請求類型是POST或者PUT,那么相當于獲取 $_POST[‘id’] 或者 PUT參數(shù)id。

并且param類型變量還可以用數(shù)字索引的方式獲取URL參數(shù)(必須是PATHINFO模式參數(shù)有效,無論是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
喜歡就支持一下吧
點贊5 分享