This commit is contained in:
xl
2023-11-22 17:16:10 +08:00
parent 76e0e5a88b
commit 0cf51a26e8
2 changed files with 15 additions and 19 deletions
+12 -2
View File
@@ -31,12 +31,22 @@ class Response implements ResponseInterface
/**
* 初始化
* @throws
*/
public function __construct()
{
$this->contentType = \config('response.content-type', ContentType::JSON);
$this->emmit = di(\config('response.emmit', SwooleHttpResponseEmitter::class));
$this->emmit = \config('response.emmit', SwooleHttpResponseEmitter::class);
}
/**
* @return void
* @throws ReflectionException
*/
public function init(): void
{
if (is_string($this->emmit)) {
$this->emmit = di($this->emmit);
}
}
+3 -17
View File
@@ -21,21 +21,6 @@ use SplPriorityQueue;
class SwooleHttpResponseEmitter implements ResponseEmitterInterface
{
/**
* @var EventProvider
*/
#[Container(EventProvider::class)]
public EventProvider $provider;
/**
* @var EventDispatch
*/
#[Container(EventDispatch::class)]
public EventDispatch $dispatch;
/**
* @var SplPriorityQueue
*/
@@ -49,9 +34,10 @@ class SwooleHttpResponseEmitter implements ResponseEmitterInterface
/**
* @return void
* @param EventDispatch $dispatch
* @param EventProvider $provider
*/
public function init(): void
public function __construct(readonly public EventDispatch $dispatch, readonly public EventProvider $provider)
{
$this->afterRequest = new OnAfterRequest();
$this->events = $this->provider->getListenersForEvent($this->afterRequest);