1<?php 2 3/* 4 * This file is part of the Symfony package. 5 * 6 * (c) Fabien Potencier <fabien@symfony.com> 7 * 8 * For the full copyright and license information, please view the LICENSE 9 * file that was distributed with this source code. 10 */ 11 12namespace Symfony\Component\Routing\Matcher; 13 14use Symfony\Component\HttpFoundation\Request; 15use Symfony\Component\Routing\Exception\MethodNotAllowedException; 16use Symfony\Component\Routing\Exception\NoConfigurationException; 17use Symfony\Component\Routing\Exception\ResourceNotFoundException; 18 19/** 20 * RequestMatcherInterface is the interface that all request matcher classes must implement. 21 * 22 * @author Fabien Potencier <fabien@symfony.com> 23 */ 24interface RequestMatcherInterface 25{ 26 /** 27 * Tries to match a request with a set of routes. 28 * 29 * If the matcher can not find information, it must throw one of the exceptions documented 30 * below. 31 * 32 * @return array An array of parameters 33 * 34 * @throws NoConfigurationException If no routing configuration could be found 35 * @throws ResourceNotFoundException If no matching resource could be found 36 * @throws MethodNotAllowedException If a matching resource was found but the request method is not allowed 37 */ 38 public function matchRequest(Request $request); 39} 40