You are here

class UrlMatcher in Zircon Profile 8

Same name in this branch
  1. 8 vendor/symfony-cmf/routing/NestedMatcher/UrlMatcher.php \Symfony\Cmf\Component\Routing\NestedMatcher\UrlMatcher
  2. 8 vendor/symfony/routing/Matcher/UrlMatcher.php \Symfony\Component\Routing\Matcher\UrlMatcher
  3. 8 core/lib/Drupal/Core/Routing/UrlMatcher.php \Drupal\Core\Routing\UrlMatcher
Same name and namespace in other branches
  1. 8.0 vendor/symfony-cmf/routing/NestedMatcher/UrlMatcher.php \Symfony\Cmf\Component\Routing\NestedMatcher\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 core/lib/Drupal/Core/Routing/UrlMatcher.php
Contains \Drupal\Core\Routing\UrlMatcher.
UrlMatcherTest.php in vendor/symfony-cmf/routing/Tests/NestedMatcher/UrlMatcherTest.php

File

vendor/symfony-cmf/routing/NestedMatcher/UrlMatcher.php, line 29

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::$expressionLanguage protected property
UrlMatcher::$expressionLanguageProviders protected property
UrlMatcher::$request protected property
UrlMatcher::$routes protected property
UrlMatcher::addExpressionLanguageProvider public function
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::getExpressionLanguage protected function
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::matchRequest public function Tries to match a request with a set of routes. Overrides RequestMatcherInterface::matchRequest
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