Files
kiri-core/http-server/Constrict/Response.php
T
as2252258@163.com 5e1a3f7148 111
2021-08-28 02:08:20 +08:00

61 lines
1.1 KiB
PHP

<?php
namespace Server\Constrict;
use Http\Context\Context;
use Server\ResponseInterface;
use Server\Message\Response as Psr7Response;
/**
* Class Response
* @package Server
* @mixin Psr7Response
*/
class Response implements ResponseInterface
{
const JSON = 'json';
const XML = 'xml';
const HTML = 'html';
const FILE = 'file';
/**
* @param $name
* @param $args
* @return mixed
*/
public function __call($name, $args)
{
if (!method_exists($this, $name)) {
return $this->__call__()->{$name}(...$args);
}
return $this->{$name}(...$args);
}
/**
* @param string $name
* @return mixed
*/
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;
}
}