context = $context; $this->defaults = $defaults; } public function match($url) { $url = $this->normalizeUrl($url); if (0 === strpos($url, '/foo') && preg_match('#^/foo/(?Pbaz|symfony)$#x', $url, $matches)) { return array_merge($this->mergeDefaults($matches, array ( 'def' => 'test',)), array('_route' => 'foo')); } if (isset($this->context['method']) && preg_match('#^(GET|head)$#xi', $this->context['method']) && 0 === strpos($url, '/bar') && preg_match('#^/bar/(?P[^/\.]+?)$#x', $url, $matches)) { return array_merge($this->mergeDefaults($matches, array ()), array('_route' => 'bar')); } if ($url === '/test/baz') { return array_merge($this->mergeDefaults(array(), array ()), array('_route' => 'baz')); } return false; } }