1: <?php
2:
3: /**
4: * This file is part of the Nette Framework (http://nette.org)
5: *
6: * Copyright (c) 2004, 2011 David Grudl (http://davidgrudl.com)
7: *
8: * For the full copyright and license information, please view
9: * the file license.txt that was distributed with this source code.
10: * @package Nette\Application
11: */
12:
13:
14:
15: /**
16: * The bi-directional router.
17: *
18: * @author David Grudl
19: */
20: interface IRouter
21: {
22: /** only matching route */
23: const ONE_WAY = 1;
24:
25: /** HTTPS route */
26: const SECURED = 2;
27:
28: /**
29: * Maps HTTP request to a PresenterRequest object.
30: * @param IHttpRequest
31: * @return PresenterRequest|NULL
32: */
33: function match(IHttpRequest $httpRequest);
34:
35: /**
36: * Constructs absolute URL from PresenterRequest object.
37: * @param PresenterRequest
38: * @param Uri referential URI
39: * @return string|NULL
40: */
41: function constructUrl(PresenterRequest $appRequest, Uri $refUri);
42:
43: }
44: