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 05815adb22 Merge branch '2.5'
* 2.5:
  added missing use statements
  added missing use statement
  added missing use statement
  fixed CS
  [Process] fixed some volatile tests
  [HttpKernel] fixed a volatile test
  [HttpFoundation] fixed some volatile tests
  [Tests] PHPUnit Optimizations
  Use getPathname() instead of string casting to get BinaryFileReponse file path

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php
	src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/Fixtures/php/full.php
	src/Symfony/Component/Debug/Tests/Exception/FlattenExceptionTest.php
	src/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php
	src/Symfony/Component/Process/Process.php
	src/Symfony/Component/Stopwatch/Stopwatch.php
	src/Symfony/Component/Validator/Constraints/AbstractComparisonValidator.php
	src/Symfony/Component/Validator/Tests/Constraints/GreaterThanOrEqualValidatorTest.php
	src/Symfony/Component/Yaml/Parser.php
	src/Symfony/Component/Yaml/Tests/InlineTest.php
2014-09-22 13:59:59 +02:00
..
Annotation Merge branch '2.3' into 2.4 2014-04-23 16:04:21 +02:00
Exception corrected English grammar (s/does not exists/does not exist) 2013-08-13 20:56:24 +01:00
Generator Merge branch '2.4' into 2.5 2014-09-22 11:14:18 +02:00
Loader Merge branch '2.4' into 2.5 2014-09-22 11:14:18 +02:00
Matcher Merge branch '2.5' 2014-09-22 13:59:59 +02:00
Tests Merge branch '2.4' into 2.5 2014-09-22 11:14:18 +02:00
.gitignore Added missing files .gitignore 2013-07-21 14:12:18 +02:00
CHANGELOG.md [Routing][FrameworkBundle] Deprecated the apache dumper 2014-01-13 21:29:22 +01:00
CompiledRoute.php fixed CS 2014-09-22 10:32:35 +02:00
composer.json updated version to 2.6 2014-05-23 16:36:49 +02:00
LICENSE update year on licenses 2014-01-07 08:19:25 -05:00
phpunit.xml.dist removed defaults from PHPUnit configuration 2014-07-07 12:13:42 +02:00
README.md updated the composer install command to reflect changes in Composer 2013-09-18 09:27:26 +02:00
RequestContext.php fixed types in phpdocs 2014-04-16 12:30:19 +02:00
RequestContextAwareInterface.php fixed CS 2012-07-09 14:54:20 +02:00
Route.php fixed types in phpdocs 2014-04-16 12:36:34 +02:00
RouteCollection.php [Routing] added support for expression conditions in routes 2013-09-19 12:59:11 +02:00
RouteCompiler.php made {@inheritdoc} annotations consistent across the board 2014-04-16 09:04:20 +02:00
RouteCompilerInterface.php renamed hostname to host in the routing system (closes #6775) 2013-01-21 17:57:32 +01:00
Router.php minor #9487 unify constructor initialization style throughout symfony (Tobion) 2013-11-22 18:42:00 +01: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.phar install
$ phpunit