Вход Регистрация
Файл: gapps/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.php
Строк: 177
<?php

use SymfonyComponentRoutingExceptionMethodNotAllowedException;
use 
SymfonyComponentRoutingExceptionResourceNotFoundException;
use 
SymfonyComponentRoutingRequestContext;

/**
 * ProjectUrlMatcher.
 *
 * This class has been auto-generated
 * by the Symfony Routing Component.
 */
class ProjectUrlMatcher extends SymfonyComponentRoutingMatcherUrlMatcher
{
    
/**
     * 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 (=== 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 (
=== 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 (=== 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 (
=== strpos($pathinfo'/test')) {
            if (
=== 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 (
=== strpos($pathinfo'/a')) {
            if (
=== 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 (
=== 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 (
=== strpos($pathinfo'/multi')) {
            
// helloWorld
            
if (=== 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 (
=== 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 (
=== 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 (=== strpos($pathinfo'/route13') && preg_match('#^/route13/(?P<name>[^/]++)$#s'$pathinfo$matches)) {
                    return 
$this->mergeDefaults(array_replace($hostMatches$matches, array('_route' => 'route13')), array ());
                }

                
// route14
                
if (=== 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 (=== strpos($pathinfo'/route15') && preg_match('#^/route15/(?P<name>[^/]++)$#s'$pathinfo$matches)) {
                return 
$this->mergeDefaults(array_replace($matches, array('_route' => 'route15')), array ());
            }

        }

        if (
=== strpos($pathinfo'/route1')) {
            
// route16
            
if (=== 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 (
=== strpos($pathinfo'/a')) {
            
// a
            
if ($pathinfo === '/a/a...') {
                return array(
'_route' => 'a');
            }

            if (
=== 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 (=== 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 
count($allow) ? new MethodNotAllowedException(array_unique($allow)) : new ResourceNotFoundException();
    }
}
Онлайн: 0
Реклама