This commit is contained in:
as2252258@163.com
2021-08-28 01:49:06 +08:00
parent 30e639fe69
commit c898292ebe
+33 -14
View File
@@ -22,19 +22,38 @@ class Response implements ResponseInterface
const HTML = 'html'; const HTML = 'html';
const FILE = 'file'; const FILE = 'file';
/** /**
* @param $name * @param $name
* @param $args * @param $args
* @return mixed * @return mixed
*/ */
public function __call($name, $args) public function __call($name, $args)
{ {
if (!Context::hasContext(Psr7Response::class)) { if (!method_exists($this, $name)) {
$context = Context::setContext(Psr7Response::class, new Psr7Response()); return $this->__call__()->{$name}(...$args);
} else { }
$context = Context::getContext(Psr7Response::class); return $this->{$name}(...$args);
} }
return $context->{$name}(...$args);
}
/**
* @param string $name
*/
public function __get(string $name)
{
return $this->__call__()->{$name};
}
/**
* @return Psr7Response
*/
public function __call__(): Psr7Response
{
if (!Context::hasContext(Psr7Response::class)) {
$context = Context::setContext(Psr7Response::class, new Psr7Response());
} else {
$context = Context::getContext(Psr7Response::class);
}
return $context;
}
} }