1: <?php
2:
3: /*
4: * This file is part of the Symfony package.
5: *
6: * (c) Fabien Potencier <[email protected]>
7: *
8: * For the full copyright and license information, please view the LICENSE
9: * file that was distributed with this source code.
10: */
11:
12: namespace Symfony\Component\Routing\Matcher;
13:
14: use Symfony\Component\HttpFoundation\Request;
15: use Symfony\Component\Routing\Exception\ResourceNotFoundException;
16: use Symfony\Component\Routing\Exception\MethodNotAllowedException;
17:
18: /**
19: * RequestMatcherInterface is the interface that all request matcher classes must implement.
20: *
21: * @author Fabien Potencier <[email protected]>
22: */
23: interface RequestMatcherInterface
24: {
25: /**
26: * Tries to match a request with a set of routes.
27: *
28: * If the matcher can not find information, it must throw one of the exceptions documented
29: * below.
30: *
31: * @param Request $request The request to match
32: *
33: * @return array An array of parameters
34: *
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: