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 = [];
private array $middlewareDefinitions = [];
public function addRoute(Route $route): RouteCollectorInterface
$this->items[] = $route;
return $this;
}
public function addGroup(Group $group): RouteCollectorInterface
$this->items[] = $group;
public function middleware($middlewareDefinition): RouteCollectorInterface
array_unshift($this->middlewareDefinitions, $middlewareDefinition);
public function prependMiddleware($middlewareDefinition): RouteCollectorInterface
$this->middlewareDefinitions[] = $middlewareDefinition;
public function getItems(): array
return $this->items;
public function getMiddlewareDefinitions(): array
return $this->middlewareDefinitions;