mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-02 05:02:48 +08:00
71 lines
2.9 KiB
PHP
71 lines
2.9 KiB
PHP
<?php
|
|
// +----------------------------------------------------------------------
|
|
// | TOPThink [ WE CAN DO IT JUST THINK ]
|
|
// +----------------------------------------------------------------------
|
|
// | Copyright (c) 2011 http://topthink.com All rights reserved.
|
|
// +----------------------------------------------------------------------
|
|
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
|
// +----------------------------------------------------------------------
|
|
// | Author: liu21st <liu21st@gmail.com>
|
|
// +----------------------------------------------------------------------
|
|
// $Id$
|
|
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)) {
|
|
case 'get': $input =& $_GET;break;
|
|
case 'post': $input =& $_POST;break;
|
|
case 'put' : parse_str(file_get_contents('php://input'), $input);break;
|
|
case 'param' :
|
|
switch($_SERVER['REQUEST_METHOD']) {
|
|
case 'POST':
|
|
$input = $_POST;
|
|
break;
|
|
case 'PUT':
|
|
parse_str(file_get_contents('php://input'), $input);
|
|
break;
|
|
default:
|
|
$input = $_GET;
|
|
}
|
|
break;
|
|
case 'request': $input =& $_REQUEST;break;
|
|
case 'server': $input =& $_SERVER;break;
|
|
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]) {
|
|
// 返回全部数据
|
|
return $input;
|
|
}elseif(array_key_exists($args[0],$input)) {
|
|
$filters = isset($args[1])?$args[1]:'';
|
|
$filters = explode(',',$filters);
|
|
$data = $input[$args[0]];
|
|
foreach($filters as $filter){
|
|
if(is_callable($filter)) {
|
|
$data = is_array($data)?array_map($filter,$data):$filter($data); // 参数过滤
|
|
}
|
|
}
|
|
}else{
|
|
// 不存在指定输入
|
|
$data = isset($args[2])?$args[2]:NULL;
|
|
}
|
|
return $data;
|
|
}
|
|
|
|
} |