Files
kiri-core/http-server/Constrict/Response.php
T

61 lines
1.1 KiB
PHP
Raw Normal View History

2021-08-04 02:43:28 +08:00
<?php
2021-08-04 14:05:00 +08:00
namespace Server\Constrict;
2021-08-04 02:43:28 +08:00
2021-08-17 16:52:50 +08:00
use Http\Context\Context;
2021-08-04 17:13:26 +08:00
use Server\ResponseInterface;
2021-08-28 01:21:23 +08:00
use Server\Message\Response as Psr7Response;
2021-08-04 02:43:28 +08:00
/**
* Class Response
* @package Server
2021-08-28 01:21:23 +08:00
* @mixin Psr7Response
2021-08-04 02:43:28 +08:00
*/
2021-08-04 17:13:26 +08:00
class Response implements ResponseInterface
2021-08-04 02:43:28 +08:00
{
2021-08-04 10:16:03 +08:00
const JSON = 'json';
const XML = 'xml';
const HTML = 'html';
2021-08-10 16:40:01 +08:00
const FILE = 'file';
2021-08-04 10:16:03 +08:00
2021-08-28 01:49:06 +08:00
/**
* @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
2021-08-28 02:08:20 +08:00
* @return mixed
2021-08-28 01:49:06 +08:00
*/
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;
}
2021-08-04 02:43:28 +08:00
}