class ProjectUrlMatcher in Zircon Profile 8
Same name in this branch
- 8 vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.php \ProjectUrlMatcher
- 8 vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher2.php \ProjectUrlMatcher
- 8 vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher3.php \ProjectUrlMatcher
Same name and namespace in other branches
- 8.0 vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.php \ProjectUrlMatcher
- 8.0 vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher2.php \ProjectUrlMatcher
- 8.0 vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher3.php \ProjectUrlMatcher
ProjectUrlMatcher.
This class has been auto-generated by the Symfony Routing Component.
Hierarchy
- class \Symfony\Component\Routing\Matcher\UrlMatcher implements RequestMatcherInterface, UrlMatcherInterface- class \ProjectUrlMatcher
 
Expanded class hierarchy of ProjectUrlMatcher
2 string references to 'ProjectUrlMatcher'
- PhpMatcherDumper::dump in vendor/symfony/ routing/ Matcher/ Dumper/ PhpMatcherDumper.php 
- Dumps a set of routes to a PHP class.
- Router::setOptions in vendor/symfony/ routing/ Router.php 
- Sets options.
File
- vendor/symfony/ routing/ Tests/ Fixtures/ dumper/ url_matcher1.php, line 13 
View source
class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher {
  /**
   * Constructor.
   */
  public function __construct(RequestContext $context) {
    $this->context = $context;
  }
  public function match($pathinfo) {
    $allow = array();
    $pathinfo = rawurldecode($pathinfo);
    $context = $this->context;
    $request = $this->request;
    // foo
    if (0 === strpos($pathinfo, '/foo') && preg_match('#^/foo/(?P<bar>baz|symfony)$#s', $pathinfo, $matches)) {
      return $this
        ->mergeDefaults(array_replace($matches, array(
        '_route' => 'foo',
      )), array(
        'def' => 'test',
      ));
    }
    if (0 === strpos($pathinfo, '/bar')) {
      // bar
      if (preg_match('#^/bar/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
        if (!in_array($this->context
          ->getMethod(), array(
          'GET',
          'HEAD',
        ))) {
          $allow = array_merge($allow, array(
            'GET',
            'HEAD',
          ));
          goto not_bar;
        }
        return $this
          ->mergeDefaults(array_replace($matches, array(
          '_route' => 'bar',
        )), array());
      }
      not_bar:
      // barhead
      if (0 === strpos($pathinfo, '/barhead') && preg_match('#^/barhead/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
        if (!in_array($this->context
          ->getMethod(), array(
          'GET',
          'HEAD',
        ))) {
          $allow = array_merge($allow, array(
            'GET',
            'HEAD',
          ));
          goto not_barhead;
        }
        return $this
          ->mergeDefaults(array_replace($matches, array(
          '_route' => 'barhead',
        )), array());
      }
      not_barhead:
    }
    if (0 === strpos($pathinfo, '/test')) {
      if (0 === strpos($pathinfo, '/test/baz')) {
        // baz
        if ($pathinfo === '/test/baz') {
          return array(
            '_route' => 'baz',
          );
        }
        // baz2
        if ($pathinfo === '/test/baz.html') {
          return array(
            '_route' => 'baz2',
          );
        }
        // baz3
        if ($pathinfo === '/test/baz3/') {
          return array(
            '_route' => 'baz3',
          );
        }
      }
      // baz4
      if (preg_match('#^/test/(?P<foo>[^/]++)/$#s', $pathinfo, $matches)) {
        return $this
          ->mergeDefaults(array_replace($matches, array(
          '_route' => 'baz4',
        )), array());
      }
      // baz5
      if (preg_match('#^/test/(?P<foo>[^/]++)/$#s', $pathinfo, $matches)) {
        if ($this->context
          ->getMethod() != 'POST') {
          $allow[] = 'POST';
          goto not_baz5;
        }
        return $this
          ->mergeDefaults(array_replace($matches, array(
          '_route' => 'baz5',
        )), array());
      }
      not_baz5:
      // baz.baz6
      if (preg_match('#^/test/(?P<foo>[^/]++)/$#s', $pathinfo, $matches)) {
        if ($this->context
          ->getMethod() != 'PUT') {
          $allow[] = 'PUT';
          goto not_bazbaz6;
        }
        return $this
          ->mergeDefaults(array_replace($matches, array(
          '_route' => 'baz.baz6',
        )), array());
      }
      not_bazbaz6:
    }
    // foofoo
    if ($pathinfo === '/foofoo') {
      return array(
        'def' => 'test',
        '_route' => 'foofoo',
      );
    }
    // quoter
    if (preg_match('#^/(?P<quoter>[\']+)$#s', $pathinfo, $matches)) {
      return $this
        ->mergeDefaults(array_replace($matches, array(
        '_route' => 'quoter',
      )), array());
    }
    // space
    if ($pathinfo === '/spa ce') {
      return array(
        '_route' => 'space',
      );
    }
    if (0 === strpos($pathinfo, '/a')) {
      if (0 === strpos($pathinfo, '/a/b\'b')) {
        // foo1
        if (preg_match('#^/a/b\'b/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
          return $this
            ->mergeDefaults(array_replace($matches, array(
            '_route' => 'foo1',
          )), array());
        }
        // bar1
        if (preg_match('#^/a/b\'b/(?P<bar>[^/]++)$#s', $pathinfo, $matches)) {
          return $this
            ->mergeDefaults(array_replace($matches, array(
            '_route' => 'bar1',
          )), array());
        }
      }
      // overridden
      if (preg_match('#^/a/(?P<var>.*)$#s', $pathinfo, $matches)) {
        return $this
          ->mergeDefaults(array_replace($matches, array(
          '_route' => 'overridden',
        )), array());
      }
      if (0 === strpos($pathinfo, '/a/b\'b')) {
        // foo2
        if (preg_match('#^/a/b\'b/(?P<foo1>[^/]++)$#s', $pathinfo, $matches)) {
          return $this
            ->mergeDefaults(array_replace($matches, array(
            '_route' => 'foo2',
          )), array());
        }
        // bar2
        if (preg_match('#^/a/b\'b/(?P<bar1>[^/]++)$#s', $pathinfo, $matches)) {
          return $this
            ->mergeDefaults(array_replace($matches, array(
            '_route' => 'bar2',
          )), array());
        }
      }
    }
    if (0 === strpos($pathinfo, '/multi')) {
      // helloWorld
      if (0 === strpos($pathinfo, '/multi/hello') && preg_match('#^/multi/hello(?:/(?P<who>[^/]++))?$#s', $pathinfo, $matches)) {
        return $this
          ->mergeDefaults(array_replace($matches, array(
          '_route' => 'helloWorld',
        )), array(
          'who' => 'World!',
        ));
      }
      // overridden2
      if ($pathinfo === '/multi/new') {
        return array(
          '_route' => 'overridden2',
        );
      }
      // hey
      if ($pathinfo === '/multi/hey/') {
        return array(
          '_route' => 'hey',
        );
      }
    }
    // foo3
    if (preg_match('#^/(?P<_locale>[^/]++)/b/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
      return $this
        ->mergeDefaults(array_replace($matches, array(
        '_route' => 'foo3',
      )), array());
    }
    // bar3
    if (preg_match('#^/(?P<_locale>[^/]++)/b/(?P<bar>[^/]++)$#s', $pathinfo, $matches)) {
      return $this
        ->mergeDefaults(array_replace($matches, array(
        '_route' => 'bar3',
      )), array());
    }
    if (0 === strpos($pathinfo, '/aba')) {
      // ababa
      if ($pathinfo === '/ababa') {
        return array(
          '_route' => 'ababa',
        );
      }
      // foo4
      if (preg_match('#^/aba/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
        return $this
          ->mergeDefaults(array_replace($matches, array(
          '_route' => 'foo4',
        )), array());
      }
    }
    $host = $this->context
      ->getHost();
    if (preg_match('#^a\\.example\\.com$#si', $host, $hostMatches)) {
      // route1
      if ($pathinfo === '/route1') {
        return array(
          '_route' => 'route1',
        );
      }
      // route2
      if ($pathinfo === '/c2/route2') {
        return array(
          '_route' => 'route2',
        );
      }
    }
    if (preg_match('#^b\\.example\\.com$#si', $host, $hostMatches)) {
      // route3
      if ($pathinfo === '/c2/route3') {
        return array(
          '_route' => 'route3',
        );
      }
    }
    if (preg_match('#^a\\.example\\.com$#si', $host, $hostMatches)) {
      // route4
      if ($pathinfo === '/route4') {
        return array(
          '_route' => 'route4',
        );
      }
    }
    if (preg_match('#^c\\.example\\.com$#si', $host, $hostMatches)) {
      // route5
      if ($pathinfo === '/route5') {
        return array(
          '_route' => 'route5',
        );
      }
    }
    // route6
    if ($pathinfo === '/route6') {
      return array(
        '_route' => 'route6',
      );
    }
    if (preg_match('#^(?P<var1>[^\\.]++)\\.example\\.com$#si', $host, $hostMatches)) {
      if (0 === strpos($pathinfo, '/route1')) {
        // route11
        if ($pathinfo === '/route11') {
          return $this
            ->mergeDefaults(array_replace($hostMatches, array(
            '_route' => 'route11',
          )), array());
        }
        // route12
        if ($pathinfo === '/route12') {
          return $this
            ->mergeDefaults(array_replace($hostMatches, array(
            '_route' => 'route12',
          )), array(
            'var1' => 'val',
          ));
        }
        // route13
        if (0 === strpos($pathinfo, '/route13') && preg_match('#^/route13/(?P<name>[^/]++)$#s', $pathinfo, $matches)) {
          return $this
            ->mergeDefaults(array_replace($hostMatches, $matches, array(
            '_route' => 'route13',
          )), array());
        }
        // route14
        if (0 === strpos($pathinfo, '/route14') && preg_match('#^/route14/(?P<name>[^/]++)$#s', $pathinfo, $matches)) {
          return $this
            ->mergeDefaults(array_replace($hostMatches, $matches, array(
            '_route' => 'route14',
          )), array(
            'var1' => 'val',
          ));
        }
      }
    }
    if (preg_match('#^c\\.example\\.com$#si', $host, $hostMatches)) {
      // route15
      if (0 === strpos($pathinfo, '/route15') && preg_match('#^/route15/(?P<name>[^/]++)$#s', $pathinfo, $matches)) {
        return $this
          ->mergeDefaults(array_replace($matches, array(
          '_route' => 'route15',
        )), array());
      }
    }
    if (0 === strpos($pathinfo, '/route1')) {
      // route16
      if (0 === strpos($pathinfo, '/route16') && preg_match('#^/route16/(?P<name>[^/]++)$#s', $pathinfo, $matches)) {
        return $this
          ->mergeDefaults(array_replace($matches, array(
          '_route' => 'route16',
        )), array(
          'var1' => 'val',
        ));
      }
      // route17
      if ($pathinfo === '/route17') {
        return array(
          '_route' => 'route17',
        );
      }
    }
    if (0 === strpos($pathinfo, '/a')) {
      // a
      if ($pathinfo === '/a/a...') {
        return array(
          '_route' => 'a',
        );
      }
      if (0 === strpos($pathinfo, '/a/b')) {
        // b
        if (preg_match('#^/a/b/(?P<var>[^/]++)$#s', $pathinfo, $matches)) {
          return $this
            ->mergeDefaults(array_replace($matches, array(
            '_route' => 'b',
          )), array());
        }
        // c
        if (0 === strpos($pathinfo, '/a/b/c') && preg_match('#^/a/b/c/(?P<var>[^/]++)$#s', $pathinfo, $matches)) {
          return $this
            ->mergeDefaults(array_replace($matches, array(
            '_route' => 'c',
          )), array());
        }
      }
    }
    throw 0 < count($allow) ? new MethodNotAllowedException(array_unique($allow)) : new ResourceNotFoundException();
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| ProjectUrlMatcher:: | public | function | Tries to match a URL path with a set of routes. Overrides UrlMatcher:: | |
| ProjectUrlMatcher:: | public | function | Constructor. Overrides UrlMatcher:: | |
| UrlMatcher:: | protected | property | ||
| UrlMatcher:: | protected | property | ||
| UrlMatcher:: | protected | property | ||
| UrlMatcher:: | protected | property | ||
| UrlMatcher:: | protected | property | ||
| UrlMatcher:: | protected | property | ||
| UrlMatcher:: | public | function | ||
| UrlMatcher:: | protected | function | Returns an array of values to use as request attributes. | 1 | 
| UrlMatcher:: | public | function | Gets the request context. Overrides RequestContextAwareInterface:: | |
| UrlMatcher:: | protected | function | ||
| UrlMatcher:: | protected | function | Handles specific route requirements. | 1 | 
| UrlMatcher:: | protected | function | Tries to match a URL with a set of routes. | 1 | 
| UrlMatcher:: | public | function | Tries to match a request with a set of routes. Overrides RequestMatcherInterface:: | |
| UrlMatcher:: | protected | function | Get merged default parameters. | |
| UrlMatcher:: | constant | |||
| UrlMatcher:: | constant | |||
| UrlMatcher:: | constant | |||
| UrlMatcher:: | public | function | Sets the request context. Overrides RequestContextAwareInterface:: | 
