From f4cd2b44578cf6c5eadb72e08eb9ab75cb7f4dfe Mon Sep 17 00:00:00 2001 From: thinkphp Date: Wed, 27 Mar 2013 11:38:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9BThink\Input=E7=B1=BB=20?= =?UTF-8?q?=E6=94=AF=E6=8C=81PHP=E5=86=85=E7=BD=AE=E7=9A=84filter=E8=A7=84?= =?UTF-8?q?=E5=88=99=EF=BC=8C=E4=BE=8B=E5=A6=82=EF=BC=9A=20Input::get('id'?= =?UTF-8?q?,FILTER=5FVALIDATE=5FINT,0);=20=E4=BB=A5=E5=8F=8A=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E5=AD=97=E7=AC=A6=E4=B8=B2=E6=A0=87=E8=AF=86=E7=9A=84?= =?UTF-8?q?=E8=BF=87=E6=BB=A4=20Input::get('email','email');?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Think/Input.php | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Think/Input.php b/Think/Input.php index b9e52eee..9507d222 100644 --- a/Think/Input.php +++ b/Think/Input.php @@ -13,16 +13,11 @@ namespace Think; class Input { /** - +---------------------------------------------------------- - * 魔术方法 有不存在的操作的时候执行 - +---------------------------------------------------------- + * 获取系统变量 支持过滤和默认值 * @access public - +---------------------------------------------------------- * @param string $type 输入数据类型 * @param array $args 参数 array(key,filter,default) - +---------------------------------------------------------- * @return mixed - +---------------------------------------------------------- */ static public function __callStatic($type,$args=array()) { switch(strtolower($type)) { @@ -46,7 +41,6 @@ class Input { case 'cookie': $input =& $_COOKIE;break; case 'session': $input =& $_SESSION;break; case 'globals': $input =& $GLOBALS;break; - case 'files': $input =& $_FILES;break; default:return NULL; } if(''== $args[0]) { @@ -59,6 +53,11 @@ class Input { foreach($filters as $filter){ if(is_callable($filter)) { $data = is_array($data)?array_map($filter,$data):$filter($data); // 参数过滤 + }else{ + $data = filter_var($data,is_int($filter)?$filter:filter_id($filter)); + if(false === $data) { + $data = isset($args[2])?$args[2]:NULL; + } } } }else{