改名
This commit is contained in:
@@ -18,23 +18,15 @@ use Snowflake\Snowflake;
|
|||||||
/**
|
/**
|
||||||
* Class WebController
|
* Class WebController
|
||||||
* @package Snowflake\Snowflake\Web
|
* @package Snowflake\Snowflake\Web
|
||||||
|
* @property-read HttpParams $input
|
||||||
|
* @property-read HttpHeaders $headers
|
||||||
|
* @property-read Request $request
|
||||||
*/
|
*/
|
||||||
class Controller extends HttpService
|
class Controller extends HttpService
|
||||||
{
|
{
|
||||||
|
|
||||||
use TraitApplication;
|
use TraitApplication;
|
||||||
|
|
||||||
/** @var null|HttpParams $input */
|
|
||||||
public null|HttpParams $input;
|
|
||||||
|
|
||||||
|
|
||||||
/** @var null|HttpHeaders */
|
|
||||||
public null|HttpHeaders $headers;
|
|
||||||
|
|
||||||
|
|
||||||
/** @var null|Request */
|
|
||||||
public null|Request $request;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Controller constructor.
|
* Controller constructor.
|
||||||
@@ -57,40 +49,13 @@ class Controller extends HttpService
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param null|HttpParams $input
|
|
||||||
*/
|
|
||||||
public function setInput(?HttpParams $input): void
|
|
||||||
{
|
|
||||||
$this->input = $input;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param ?HttpHeaders $headers
|
|
||||||
*/
|
|
||||||
public function setHeaders(?HttpHeaders $headers): void
|
|
||||||
{
|
|
||||||
$this->headers = $headers;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param ?Request $request
|
|
||||||
*/
|
|
||||||
public function setRequest(?Request $request): void
|
|
||||||
{
|
|
||||||
$this->request = $request;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return ?HttpParams
|
* @return ?HttpParams
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public function getInput(): ?HttpParams
|
public function getInput(): ?HttpParams
|
||||||
{
|
{
|
||||||
if (!$this->input) {
|
return \request()->params;
|
||||||
$this->input = $this->getRequest()->params;
|
|
||||||
}
|
|
||||||
return $this->input;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -99,10 +64,7 @@ class Controller extends HttpService
|
|||||||
*/
|
*/
|
||||||
public function getHeaders(): ?HttpHeaders
|
public function getHeaders(): ?HttpHeaders
|
||||||
{
|
{
|
||||||
if (!$this->headers && $this->getRequest()) {
|
return \request()->headers;
|
||||||
$this->headers = $this->getRequest()->headers;
|
|
||||||
}
|
|
||||||
return $this->headers;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -120,9 +82,7 @@ class Controller extends HttpService
|
|||||||
/**
|
/**
|
||||||
* @param $name
|
* @param $name
|
||||||
* @return mixed
|
* @return mixed
|
||||||
* @throws ComponentException
|
* @throws Exception
|
||||||
* @throws ReflectionException
|
|
||||||
* @throws NotFindClassException
|
|
||||||
*/
|
*/
|
||||||
public function __get($name): mixed
|
public function __get($name): mixed
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -8,9 +8,6 @@ namespace HttpServer\Route\Dispatch;
|
|||||||
use Closure;
|
use Closure;
|
||||||
use HttpServer\Controller;
|
use HttpServer\Controller;
|
||||||
use HttpServer\Http\Context;
|
use HttpServer\Http\Context;
|
||||||
use ReflectionException;
|
|
||||||
use Snowflake\Exception\NotFindClassException;
|
|
||||||
use Snowflake\Snowflake;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class Dispatch
|
* Class Dispatch
|
||||||
@@ -27,10 +24,7 @@ class Dispatch
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $handler
|
* @param $handler
|
||||||
* @param $request
|
|
||||||
* @return static
|
* @return static
|
||||||
* @throws NotFindClassException
|
|
||||||
* @throws ReflectionException
|
|
||||||
*/
|
*/
|
||||||
public static function create($handler): static
|
public static function create($handler): static
|
||||||
{
|
{
|
||||||
@@ -39,7 +33,6 @@ class Dispatch
|
|||||||
if ($handler instanceof Closure) {
|
if ($handler instanceof Closure) {
|
||||||
$class->bind();
|
$class->bind();
|
||||||
}
|
}
|
||||||
$class->bindParam();
|
|
||||||
return $class;
|
return $class;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -60,39 +53,11 @@ class Dispatch
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @throws ReflectionException
|
*
|
||||||
* @throws NotFindClassException
|
|
||||||
*/
|
*/
|
||||||
protected function bind()
|
protected function bind()
|
||||||
{
|
{
|
||||||
$class = $this->bindRequest(Snowflake::createObject(Controller::class));
|
$this->handler = Closure::bind($this->handler, new Controller());
|
||||||
$this->handler = Closure::bind($this->handler, $class);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param $controller
|
|
||||||
* @return mixed
|
|
||||||
*/
|
|
||||||
protected function bindRequest($controller): mixed
|
|
||||||
{
|
|
||||||
$controller->request = Context::getContext('request');
|
|
||||||
$controller->headers = $controller->request?->headers;
|
|
||||||
$controller->input = $controller->request?->params;
|
|
||||||
return $controller;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 参数绑定
|
|
||||||
*/
|
|
||||||
protected function bindParam()
|
|
||||||
{
|
|
||||||
if ($this->handler instanceof Closure) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
$controller = $this->handler[0];
|
|
||||||
$this->bindRequest($controller);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user