This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/src/Symfony/Component/Routing
Fabien Potencier 7000e944fd merged 2.0
2012-01-05 14:54:04 +01:00
..
Annotation [Routing] added missing @Annotation tag 2011-06-30 20:37:03 +02:00
Exception [Routing] added missing public @api 2011-06-14 15:40:43 +02:00
Generator merged 2.0 2011-11-24 07:16:52 +01:00
Loader merged branch jmikola/2.0-LoaderResolverInterface (PR #2785) 2011-12-05 10:21:19 +01:00
Matcher [Routing] removed trailing slash support for routes that are not available for GET/HEAD methods (as the redirection will always occurs with a GET/HEAD request, closes #2626) 2011-12-30 19:30:23 +01:00
CompiledRoute.php [Routing] moved protected to private 2011-03-23 19:25:56 +01:00
composer.json removed the version attribute in all composer.json files 2012-01-05 14:51:20 +01:00
LICENSE added LICENSE files for the subtree repositories 2011-02-22 18:58:15 +01:00
README.md tweaked the README files 2011-12-18 14:22:28 +01:00
RequestContext.php moved some logic from HttpKernel to Routing (make it reusable) 2011-10-10 13:07:36 +02:00
RequestContextAwareInterface.php moved configuration of the default HTTP and HTTPS ports from RouterListener to RequestContext 2011-10-10 13:24:45 +02:00
Route.php merged 2.0 2011-12-13 16:12:53 +01:00
RouteCollection.php merged 2.0 2011-10-26 14:29:19 +02:00
RouteCompiler.php Added PCRE_DOTALL modifier to RouteCompiler to allow urlencoded linefeed in route parameters. 2011-09-23 16:53:06 +02:00
RouteCompilerInterface.php replaced symfony-project.org by symfony.com 2011-03-06 12:40:06 +01:00
Router.php Revert "expanded namespaces within phpdoc (special for PhpStorm)" 2011-08-13 19:27:36 +02:00
RouterInterface.php added RouterInterface::getRouteCollection() 2011-09-30 07:48:34 +02:00

Routing Component

Routing associates a request with the code that will convert it to a response.

The example below demonstrates how you can set up a fully working routing system:

use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Matcher\UrlMatcher;
use Symfony\Component\Routing\RequestContext;
use Symfony\Component\Routing\RouteCollection;
use Symfony\Component\Routing\Route;

$routes = new RouteCollection();
$routes->add('hello', new Route('/hello', array('controller' => 'foo')));

$context = new RequestContext();

// this is optional and can be done without a Request instance
$context->fromRequest(Request::createFromGlobals());

$matcher = new UrlMatcher($routes, $context);

$parameters = $matcher->match('/hello');

Resources

Unit tests:

https://github.com/symfony/symfony/tree/master/tests/Symfony/Tests/Component/Routing