class CompiledRoute

Same name in this branch

A compiled route contains derived information from a route object.

Hierarchy

Expanded class hierarchy of CompiledRoute

File

drupal/core/lib/Drupal/Core/Routing/CompiledRoute.php, line 16
Definition of Drupal\Core\Routing\CompiledRoute.

Namespace

Drupal\Core\Routing
View source
class CompiledRoute extends SymfonyCompiledRoute {

  /**
   * The fitness of this route.
   *
   * @var int
   */
  protected $fit;

  /**
   * The pattern outline of this route.
   *
   * @var string
   */
  protected $patternOutline;

  /**
   * The number of parts in the path of this route.
   *
   * @var int
   */
  protected $numParts;

  /**
   * The Route object of which this object is the compiled version.
   *
   * @var Symfony\Component\Routing\Route
   */
  protected $route;

  /**
   * Constructs a new compiled route object.
   *
   * This is a ridiculously long set of constructor parameters, but as this
   * object is little more than a collection of values it's not a serious
   * problem. The parent Symfony class does the same, as well, making it
   * difficult to override differently.
   *
   * @param \Symfony\Component\Routing\Route $route
   *   A original Route instance.
   * @param int $fit
   *   The fitness of the route.
   * @param string $fit
   *   The pattern outline for this route.
   * @param int $num_parts
   *   The number of parts in the path.
   * @param string $staticPrefix
   *   The static prefix of the compiled route
   * @param string $regex
   *   The regular expression to use to match this route
   * @param array $tokens
   *   An array of tokens to use to generate URL for this route
   * @param array $pathVariables
   *   An array of path variables
   * @param string|null $hostRegex
   *   Host regex
   * @param array $hostTokens
   *   Host tokens
   * @param array $hostVariables
   *   An array of host variables
   * @param array $variables
   *   An array of variables (variables defined in the path and in the host patterns)
   */
  public function __construct(Route $route, $fit, $pattern_outline, $num_parts, $staticPrefix, $regex, array $tokens, array $pathVariables, $hostRegex = null, array $hostTokens = array(), array $hostVariables = array(), array $variables = array()) {
    parent::__construct($staticPrefix, $regex, $tokens, $pathVariables, $hostRegex, $hostTokens, $hostVariables, $variables);
    $this->route = $route;
    $this->fit = $fit;
    $this->patternOutline = $pattern_outline;
    $this->numParts = $num_parts;
  }

  /**
   * Returns the fit of this route.
   *
   * See RouteCompiler for a definition of how the fit is calculated.
   *
   * @return int
   *   The fit of the route.
   */
  public function getFit() {
    return $this->fit;
  }

  /**
   * Returns the number of parts in this route's path.
   *
   * The string "foo/bar/baz" has 3 parts, regardless of how many of them are
   * placeholders.
   *
   * @return int
   *   The number of parts in the path.
   */
  public function getNumParts() {
    return $this->numParts;
  }

  /**
   * Returns the pattern outline of this route.
   *
   * The pattern outline of a route is the path pattern of the route, but
   * normalized such that all placeholders are replaced with %.
   *
   * @return string
   *   The normalized path pattern.
   */
  public function getPatternOutline() {
    return $this->patternOutline;
  }

  /**
   * Returns the Route instance.
   *
   * @return Route
   *   A Route instance.
   */
  public function getRoute() {
    return $this->route;
  }

  /**
   * Returns the pattern.
   *
   * @return string
   *   The pattern.
   */
  public function getPattern() {
    return $this->route
      ->getPattern();
  }

  /**
   * Returns the options.
   *
   * @return array
   *   The options.
   */
  public function getOptions() {
    return $this->route
      ->getOptions();
  }

  /**
   * Returns the defaults.
   *
   * @return array
   *   The defaults.
   */
  public function getDefaults() {
    return $this->route
      ->getDefaults();
  }

  /**
   * Returns the requirements.
   *
   * @return array
   *   The requirements.
   */
  public function getRequirements() {
    return $this->route
      ->getRequirements();
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CompiledRoute::$fit protected property The fitness of this route.
CompiledRoute::$hostRegex private property
CompiledRoute::$hostTokens private property
CompiledRoute::$hostVariables private property
CompiledRoute::$numParts protected property The number of parts in the path of this route.
CompiledRoute::$pathVariables private property
CompiledRoute::$patternOutline protected property The pattern outline of this route.
CompiledRoute::$regex private property
CompiledRoute::$route protected property The Route object of which this object is the compiled version.
CompiledRoute::$staticPrefix private property
CompiledRoute::$tokens private property
CompiledRoute::$variables private property
CompiledRoute::getDefaults public function Returns the defaults.
CompiledRoute::getFit public function Returns the fit of this route.
CompiledRoute::getHostRegex public function Returns the host regex
CompiledRoute::getHostTokens public function Returns the host tokens.
CompiledRoute::getHostVariables public function Returns the host variables.
CompiledRoute::getNumParts public function Returns the number of parts in this route's path.
CompiledRoute::getOptions public function Returns the options.
CompiledRoute::getPathVariables public function Returns the path variables.
CompiledRoute::getPattern public function Returns the pattern.
CompiledRoute::getPatternOutline public function Returns the pattern outline of this route.
CompiledRoute::getRegex public function Returns the regex.
CompiledRoute::getRequirements public function Returns the requirements.
CompiledRoute::getRoute public function Returns the Route instance.
CompiledRoute::getStaticPrefix public function Returns the static prefix.
CompiledRoute::getTokens public function Returns the tokens.
CompiledRoute::getVariables public function Returns the variables.
CompiledRoute::__construct public function Constructs a new compiled route object. Overrides CompiledRoute::__construct