ThinkPHP3.0完全开发手册                                           

 

5.16               获取系统变量

ThinkPHP没有改变原生的PHP系统变量获取方式,所以依然可以通过$_GET $_POST$_SERVER$_REQUEST 等方式来获取系统变量,不过系统的Action类提供了对系统变量的增强获取方法,包括对GETPOSTPUTREQUESTSESSIONCOOKIESERVERGLOBALS参数,除了获取变量值外,还提供变量过滤和默认值支持,用法很简单,只需要在Action中调用下面方法:

$this->方法名("变量名",["过滤方法"],["默认值"])

方法名可以支持:

方法名

含义

_get

获取GET参数

_post

获取POST参数

_request

获取REQUEST 参数

_put

获取PUT 参数

_session

获取 $_SESSION 参数

_cookie

获取 $_COOKIE 参数

_server

获取 $_SERVER 参数

_globals

获取 $GLOBALS参数

变量名(必须)是要获取的系统变量的名称

过滤方法(可选)可以用任何的内置函数或者自定义函数名,如果没有指定的话,采用默认的htmlspecialchars函数进行安全过滤(由DEFAULT_FILTER 参数配置),参数就是前面方法名获取到的值,也就是说如果调用:

$this->_get("name");

最终调用的结果就是 htmlspecialchars($_GET["name"]),如果要改变过滤方法,可以使用:

$this->_get("name","strip_tags");

 

默认值(可选)是要获取的参数变量不存在的情况下设置的默认值,例如:

$this->_get("id","strip_tags",0);

如果$_GET["id"] 不存在的话,会返回0

其他方法的用法类似。

 


站长教学网 免责声明