也许将“请求”封装为带有(POST/GET 甚至 FILES 等)的对象会更好。然后只引用这个对象而不是单个变量范围。
这将允许您创建所述对象的新实例并执行您选择的任何方法,或者在整个“模块”中的客户端代码中使用它(您也可以修改/规范化它)。另外,这样做的时候不需要修改超模。
非常快速的插图,可以很容易地扩展:
class Request
{
protected $params = array();
public function __construct()
{
return $this;
}
public function getParam($key)
{
if (isSet($_params[$key])) {
return $_POST[$key];
} else if (isSet($_GET[$key])) {
return $_GET[$key];
} else if ($_POST[$key]) {
return $_POST[$key];
} else if ($_FILES[$key]) {
// do something special with files here
}
}
public function setParam($key, value);
public function getParams();
public function getPostParams();
...etc...etc
}