for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Yiisoft\Router;
final class RouteCollector implements RouteCollectorInterface
{
/**
* @var Group[]|Route[]
*/
private array $items = [];
* @var array[]|callable[]|string[]
private array $middlewareDefinitions = [];
public function addRoute(Route|Group ...$routes): RouteCollectorInterface
array_push(
$this->items,
...array_values($routes)
);
return $this;
}
public function middleware(array|callable|string ...$middlewareDefinition): RouteCollectorInterface
$this->middlewareDefinitions,
...array_values($middlewareDefinition)
public function prependMiddleware(array|callable|string ...$middlewareDefinition): RouteCollectorInterface
array_unshift(
public function getItems(): array
return $this->items;
public function getMiddlewareDefinitions(): array
return $this->middlewareDefinitions;