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 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;
}
}