This commit is contained in:
as2252258@163.com
2021-08-06 00:44:29 +08:00
parent 3f4325175f
commit 7e84d06c57
+62 -31
View File
@@ -12,56 +12,87 @@ use Snowflake\Abstracts\TraitApplication;
use Snowflake\Application; use Snowflake\Application;
use Server\Constrict\Response as CrResponse; use Server\Constrict\Response as CrResponse;
use Server\Constrict\Request as CrRequest; use Server\Constrict\Request as CrRequest;
use Snowflake\Snowflake;
/** /**
* Class WebController * Class WebController
* @package Snowflake\Snowflake\Web * @package Snowflake\Snowflake\Web
* @property Application $container
* @property HttpParams $input
* @property HttpHeaders $header
*/ */
class Controller class Controller
{ {
use TraitApplication; use TraitApplication;
/** /**
* @param Application $container * @param Application $container
*/ */
public function __construct(protected Application $container) public function __construct(protected Application $container)
{ {
} }
/** /**
* inject request * inject request
* *
* @var CrRequest|null * @var CrRequest|null
*/ */
#[Inject(CrRequest::class)] #[Inject(CrRequest::class)]
public ?CrRequest $request = null; public ?CrRequest $request = null;
/** /**
* @var HttpParams|null * inject response
*/ *
#[Inject('input')] * @var CrResponse|null
public ?HttpParams $input = null; */
#[Inject(CrResponse::class)]
public ?CrResponse $response = null;
/** /**
* @var HttpHeaders|null * @return \Snowflake\Application|null
*/ */
#[Inject('header')] protected function getContainer()
public ?HttpHeaders $header = null; {
return Snowflake::app();
}
/** /**
* inject response * @return \HttpServer\Http\HttpParams|null
* */
* @var CrResponse|null private function getInput()
*/ {
#[Inject(CrResponse::class)] return $this->request->params;
public ?CrResponse $response = null; }
/**
* @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;
}
} }