$this->方法名("变量名",["过滤方法"],["默认值"])
方法名可以支持:方法名 | 含义 |
---|---|
_get | 获取GET参数 |
_post | 获取POST参数 |
_param | 自动判断请求类型获取GET、POST或者PUT参数(3.1新增) |
_request | 获取REQUEST 参数 |
_put | 获取PUT 参数 |
_session | 获取 $_SESSION 参数 |
_cookie | 获取 $_COOKIE 参数 |
_server | 获取 $_SERVER 参数 |
_globals | 获取 $GLOBALS参数 |
$this->_get("name");
最终调用的结果就是 htmlspecialchars($_GET["name"]),如果要改变过滤方法,可以使用:$this->_get("name","strip_tags");
默认值:(可选)是要获取的参数变量不存在的情况下设置的默认值,例如:$this->_get("id","strip_tags",0);
如果$_GET["id"] 不存在的话,会返回0。如果没有设置任何默认值的话,系统默认返回NULL。
'DEFAULT_FILTER'=>'htmlspecialchars,strip_tags'
那么在控制器类如果调用 $this->_get('id');
的话,会依次对$_GET['id'] 变量进行htmlspecialchars和strip_tags方法过滤后返回结果。$this->_get('id','htmlspecialchars,strip_tags',0);
其他变量获取方法用法相同。$this->_get();
表示获取$_GET变量值。$this->_get('id',false);
$this->_post('id',false);
//或者
$this->_get('id','');
$this->_post('id','');
第二个参数使用false或者空字符串则表示不作任何过滤处理,即使我们有配置默认的过滤方法。$this->_get('id');
$this->_post('id');
则表示调用默认的过滤方法(由DEFAULT_FILTER参数进行配置)。3.1版本开始,Action类增加_param方法,可以自动根据当前请求类型(例如GET POST)获取参数。$this->_param('id');
当前为get方式提交的时候,就是获取$_GET['id'](进行默认过滤后)的值$this->_param(0); // 获取PATHINFO地址中的第一个参数
$this->_param(2); // 获取PATHINFO地址中的第3个参数