From 7e84d06c575932c8e3ccabb2b7abd7f97be00f63 Mon Sep 17 00:00:00 2001 From: "as2252258@163.com" Date: Fri, 6 Aug 2021 00:44:29 +0800 Subject: [PATCH] modify --- HttpServer/Controller.php | 93 ++++++++++++++++++++++++++------------- 1 file changed, 62 insertions(+), 31 deletions(-) diff --git a/HttpServer/Controller.php b/HttpServer/Controller.php index e172fb7e..f3bd02a2 100644 --- a/HttpServer/Controller.php +++ b/HttpServer/Controller.php @@ -12,56 +12,87 @@ use Snowflake\Abstracts\TraitApplication; use Snowflake\Application; use Server\Constrict\Response as CrResponse; use Server\Constrict\Request as CrRequest; +use Snowflake\Snowflake; /** * Class WebController * @package Snowflake\Snowflake\Web + * @property Application $container + * @property HttpParams $input + * @property HttpHeaders $header */ class Controller { - use TraitApplication; + use TraitApplication; - /** - * @param Application $container - */ - public function __construct(protected Application $container) - { + /** + * @param Application $container + */ + public function __construct(protected Application $container) + { - } + } - /** - * inject request - * - * @var CrRequest|null - */ - #[Inject(CrRequest::class)] - public ?CrRequest $request = null; + /** + * inject request + * + * @var CrRequest|null + */ + #[Inject(CrRequest::class)] + public ?CrRequest $request = null; - /** - * @var HttpParams|null - */ - #[Inject('input')] - public ?HttpParams $input = null; + /** + * inject response + * + * @var CrResponse|null + */ + #[Inject(CrResponse::class)] + public ?CrResponse $response = null; - /** - * @var HttpHeaders|null - */ - #[Inject('header')] - public ?HttpHeaders $header = null; + /** + * @return \Snowflake\Application|null + */ + protected function getContainer() + { + return Snowflake::app(); + } - /** - * inject response - * - * @var CrResponse|null - */ - #[Inject(CrResponse::class)] - public ?CrResponse $response = null; + /** + * @return \HttpServer\Http\HttpParams|null + */ + private function getInput() + { + return $this->request->params; + } + + + /** + * @return \HttpServer\Http\HttpHeaders|null + */ + private function getHeader() + { + return $this->request->headers; + } + + + /** + * @param $name + * @return \Snowflake\Application|null + */ + public function __get($name) + { + $method = 'get' . ucfirst($name); + if (method_exists($this, $method)) { + return $this->{$method}(); + } + return $this->{$name} ?? null; + } }