<?php /** * Part of the Joomla Framework Router Package * * @copyright Copyright (C) 2005 - 2021 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ namespace Joomla\Router; /** * An object representing a resolved route. * * @since 2.0.0 */ class ResolvedRoute { /** * The controller which handles this route * * @var mixed * @since 2.0.0 */ private $controller; /** * The variables matched by the route * * @var array * @since 2.0.0 */ private $routeVariables; /** * The URI for this route * * @var string * @since 2.0.0 */ private $uri; /** * Constructor. * * @param mixed $controller The controller which handles this route * @param array $routeVariables The variables matched by the route * @param string $uri The URI for this route * * @since 2.0.0 */ public function __construct($controller, array $routeVariables, string $uri) { $this->controller = $controller; $this->routeVariables = $routeVariables; $this->uri = $uri; } /** * Retrieve the controller which handles this route * * @return mixed * * @since 2.0.0 */ public function getController() { return $this->controller; } /** * Retrieve the variables matched by the route * * @return array * * @since 2.0.0 */ public function getRouteVariables(): array { return $this->routeVariables; } /** * Retrieve the URI for this route * * @return string * * @since 2.0.0 */ public function getUri(): string { return $this->uri; } }