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
Tobias Schultze a2a4967167 Merge branch '2.7' into 2.8
Conflicts:
	src/Symfony/Component/Console/Application.php
	src/Symfony/Component/Console/Command/Command.php
	src/Symfony/Component/Console/Formatter/OutputFormatter.php
	src/Symfony/Component/Console/Formatter/OutputFormatterStyle.php
	src/Symfony/Component/Console/Input/Input.php
	src/Symfony/Component/Console/Input/InputArgument.php
	src/Symfony/Component/Console/Input/InputDefinition.php
	src/Symfony/Component/Console/Input/InputOption.php
	src/Symfony/Component/Console/Output/OutputInterface.php
	src/Symfony/Component/Console/Output/StreamOutput.php
	src/Symfony/Component/CssSelector/CssSelector.php
	src/Symfony/Component/DependencyInjection/Container.php
	src/Symfony/Component/DependencyInjection/ContainerBuilder.php
	src/Symfony/Component/DependencyInjection/ContainerInterface.php
	src/Symfony/Component/DependencyInjection/Definition.php
	src/Symfony/Component/DependencyInjection/Scope.php
	src/Symfony/Component/DependencyInjection/ScopeInterface.php
	src/Symfony/Component/Validator/Constraints/Currency.php
	src/Symfony/Component/Validator/Constraints/CurrencyValidator.php
2015-09-29 14:32:55 +02:00
..
Annotation Merge branch '2.6' into 2.7 2015-06-28 19:13:14 +02:00
Exception remove api tags from code 2015-09-28 19:11:22 +02:00
Generator Merge branch '2.3' into 2.7 2015-09-29 14:06:14 +02:00
Loader Merge branch '2.7' into 2.8 2015-09-29 14:32:55 +02:00
Matcher Merge branch '2.3' into 2.7 2015-09-29 14:06:14 +02:00
Tests Merge branch '2.7' into 2.8 2015-09-14 16:15:17 +02:00
.gitignore Added missing files .gitignore 2013-07-21 14:12:18 +02:00
CHANGELOG.md Added CHANGELOG entries, cleanups 2015-06-02 16:18:00 -07:00
CompiledRoute.php [2.3] CS And DocBlock Fixes 2014-12-22 16:58:09 +01:00
composer.json Merge branch '2.7' into 2.8 2015-05-12 17:16:46 +02:00
LICENSE Updated copyright to 2015 2015-01-01 13:56:52 +01:00
phpunit.xml.dist [2.3] require-dev PHPUnit bridge 2015-02-24 11:24:26 +01:00
README.md renamed composer.phar to composer to be consistent with the Symfony docs 2015-02-08 08:41:14 +01:00
RequestContext.php Merge branch '2.3' into 2.7 2015-09-29 14:06:14 +02:00
RequestContextAwareInterface.php remove api tags from code 2015-09-28 19:11:22 +02:00
Route.php Merge branch '2.3' into 2.7 2015-09-29 14:06:14 +02:00
RouteCollection.php Merge branch '2.3' into 2.7 2015-09-29 14:06:14 +02:00
RouteCompiler.php CS: Pre incrementation/decrementation should be used if possible 2015-04-07 19:54:22 +02:00
RouteCompilerInterface.php renamed hostname to host in the routing system (closes #6775) 2013-01-21 17:57:32 +01:00
Router.php fixes CS 2015-08-24 09:13:45 +02:00
RouterInterface.php fixed CS 2012-07-09 14:54:20 +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

You can run the unit tests with the following command:

$ cd path/to/Symfony/Component/Routing/
$ composer install
$ phpunit