85 lines
1.8 KiB
PHP
85 lines
1.8 KiB
PHP
<?php
|
|
|
|
class mfRequest {
|
|
protected static $instance;
|
|
protected $original_request = [];
|
|
protected $request = [];
|
|
|
|
public function __construct(Array $request = []) {
|
|
$_request = [];
|
|
if(count($request)) {
|
|
// get request from argument
|
|
$_request = $request;
|
|
} else {
|
|
// get request from POST/GET
|
|
if(isset($_GET)) {
|
|
$_request = array_merge($_request, $_GET);
|
|
}
|
|
if(isset($_POST)) {
|
|
$_request = array_merge($_request, $_POST);
|
|
}
|
|
if(!count($_request)) {
|
|
return true;
|
|
}
|
|
}
|
|
//var_dump($_request);exit;
|
|
foreach($_request as $key => $val) {
|
|
$this->original_request[$key] = $val;
|
|
if(is_array($val)) {
|
|
$this->request[$key] = $val;
|
|
} else {
|
|
$this->request[$key] = trim($val);
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
public static function singleton($request = false) {
|
|
if(!isset(self::$instance)) {
|
|
$c=__CLASS__;
|
|
self::$instance=new $c($request);
|
|
}
|
|
return self::$instance;
|
|
}
|
|
|
|
public function set($name, $value) {
|
|
if($name) {
|
|
$this->request[$name] = $value;
|
|
}
|
|
}
|
|
|
|
public function get($name = null) {
|
|
if($name) {
|
|
if(array_key_exists($name, $this->request)) {
|
|
return $this->request[$name];
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
return $this->request;
|
|
}
|
|
|
|
public function getUnmodified($name = null) {
|
|
if($name) {
|
|
if(array_key_exists($name, $this->original_request)) {
|
|
return $this->original_request[$name];
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
return $this->request;
|
|
}
|
|
|
|
public function isset($name) {
|
|
if(!$name) return false;
|
|
return array_key_exists($name, $this->request);
|
|
}
|
|
|
|
public function __get($name) {
|
|
return $this->get($name);
|
|
}
|
|
|
|
public function __isset($name) {
|
|
return $this->isset($name);
|
|
}
|
|
} |