This commit is contained in:
2023-10-17 17:18:56 +08:00
parent ec483b6c69
commit 72638acc7c
3 changed files with 49 additions and 0 deletions
+24
View File
@@ -25,6 +25,12 @@ class Handler implements RequestHandlerInterface
protected mixed $format;
/**
* @var array
*/
protected array $middlewares = [];
/**
* @param array|Closure $handler
* @param array $parameter
@@ -44,6 +50,24 @@ class Handler implements RequestHandlerInterface
}
/**
* @param array $middlewares
*/
public function setMiddlewares(array $middlewares): void
{
$this->middlewares = $middlewares;
}
/**
* @return array
*/
public function getMiddlewares(): array
{
return $this->middlewares;
}
/**
* @return bool
*/
+16
View File
@@ -179,6 +179,22 @@ class Router
$scanner->parse('App');
$this->read_dir_file(APP_PATH . 'routes');
$this->reset();
}
/**
* @return void
* @throws ReflectionException
*/
public function reset(): void
{
$router = Kiri::getDi()->get(DataGrip::class)->get(static::$type);
$middleware = \Kiri::getDi()->get(MiddlewareManager::class);
foreach ($router->getMethods() as $method) {
$middlewares = $middleware->get($method->getClass(), $method->getMethod());
$method->setMiddlewares($middlewares);
}
}
+9
View File
@@ -57,6 +57,15 @@ class RouterCollector implements \ArrayAccess, \IteratorAggregate
}
/**
* @return Handler[]
*/
public function getMethods(): array
{
return $this->methods;
}
/**
* @return array
*/