class UrlMatcher

Extended UrlMatcher to provide an additional interface and enhanced features.

This class requires Symfony 2.2 for a refactoring done to the symfony UrlMatcher

@author Larry Garfield

Hierarchy

Expanded class hierarchy of UrlMatcher

2 files declare their use of UrlMatcher
UrlMatcher.php in drupal/core/lib/Drupal/Core/Routing/UrlMatcher.php
Contains Drupal\Core\Routing\UrlMatcher.
UrlMatcherTest.php in drupal/core/vendor/symfony-cmf/routing/Symfony/Cmf/Component/Routing/Tests/NestedMatcher/UrlMatcherTest.php

File

drupal/core/vendor/symfony-cmf/routing/Symfony/Cmf/Component/Routing/NestedMatcher/UrlMatcher.php, line 20

Namespace

Symfony\Cmf\Component\Routing\NestedMatcher
View source
class UrlMatcher extends SymfonyUrlMatcher implements FinalMatcherInterface {

  /**
   * {@inheritdoc}
   */
  public function finalMatch(RouteCollection $collection, Request $request) {
    $this->routes = $collection;
    $context = new RequestContext();
    $context
      ->fromRequest($request);
    $this
      ->setContext($context);
    return $this
      ->match($request
      ->getPathInfo());
  }

  /**
   * {@inheritdoc}
   */
  protected function getAttributes(Route $route, $name, array $attributes) {
    if ($route instanceof RouteObjectInterface && is_string($route
      ->getRouteKey())) {
      $name = $route
        ->getRouteKey();
    }
    $attributes[RouteObjectInterface::ROUTE_NAME] = $name;
    $attributes[RouteObjectInterface::ROUTE_OBJECT] = $route;
    return $this
      ->mergeDefaults($attributes, $route
      ->getDefaults());
  }

}

Members

Namesort descending Modifiers Type Description Overrides
UrlMatcher::$allow protected property
UrlMatcher::$context protected property
UrlMatcher::$routes protected property
UrlMatcher::finalMatch public function Matches a request against a route collection and returns exactly one result. Overrides FinalMatcherInterface::finalMatch 1
UrlMatcher::getAttributes protected function Returns an array of values to use as request attributes. Overrides UrlMatcher::getAttributes
UrlMatcher::getContext public function Gets the request context. Overrides RequestContextAwareInterface::getContext
UrlMatcher::handleRouteRequirements protected function Handles specific route requirements. 1
UrlMatcher::match public function Tries to match a URL path with a set of routes. Overrides UrlMatcherInterface::match 5
UrlMatcher::matchCollection protected function Tries to match a URL with a set of routes. 1
UrlMatcher::mergeDefaults protected function Get merged default parameters.
UrlMatcher::REQUIREMENT_MATCH constant
UrlMatcher::REQUIREMENT_MISMATCH constant
UrlMatcher::ROUTE_MATCH constant
UrlMatcher::setContext public function Sets the request context. Overrides RequestContextAwareInterface::setContext
UrlMatcher::__construct public function Constructor. 4