add sandbox

This commit is contained in:
joyqi
2021-09-04 21:12:14 +08:00
parent f40c5c178e
commit 675efe1e43
11 changed files with 237 additions and 84 deletions
+36 -1
View File
@@ -18,7 +18,15 @@ class Request
private static $instance;
/**
* 内部参数
* 沙箱参数
*
* @access private
* @var Config|null
*/
private $sandbox;
/**
* 用户参数
*
* @access private
* @var Config|null
@@ -92,6 +100,25 @@ class Request
*
* @return $this
*/
public function beginSandbox(Config $sandbox): Request
{
$this->sandbox = $sandbox;
return $this;
}
/**
* @return $this
*/
public function endSandbox(): Request
{
$this->sandbox = null;
return $this;
}
/**
* @param Config $params
* @return $this
*/
public function proxy(Config $params): Request
{
$this->params = $params;
@@ -117,6 +144,14 @@ class Request
case isset($this->params) && isset($this->params[$key]):
$value = $this->params[$key];
break;
case isset($this->sandbox):
if (isset($this->sandbox[$key])) {
$value = $this->sandbox[$key];
} else {
$value = $default;
$exists = false;
}
break;
case isset($_GET[$key]):
$value = $_GET[$key];
break;