RouteInterface#
Meritum\Http\Routing\RouteInterface
Returned by HttpKernelInterface::addRoute(). Used to attach per-route middleware and to read route parameters inside a handler.
Configuration methods#
public function addMiddleware(MiddlewareInterface|string $middleware): static;Attaches middleware to this route only. Per-route middleware runs after global middleware, for matching requests only. Can be chained.
public function hasMiddleware(): bool;
public function getMiddleware(): iterable;Route parameter methods#
public function getArguments(): array;Returns all captured route parameters as array<string, string>.
public function getArgument(string $name, ?string $default = null): ?string;Returns a single captured parameter by name, or $default if not present.
Other accessors#
public function getMethods(): array; // non-empty-list<string>
public function getPath(): string;
public function getHandler(): RequestHandlerInterface|string;Accessing the route in a handler#
The matched route is attached to the request as an attribute:
use Meritum\Http\Routing\RouteInterface;
use Psr\Http\Message\ServerRequestInterface;
/** @var RouteInterface $route */
$route = $request->getAttribute('__route__');
$id = $route->getArgument('id');
$page = $route->getArgument('page', '1');