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 d7870a2b5d Merge branch '2.6' into 2.7
* 2.6: (46 commits)
  fixxed order of usage
  [2.7] [Form] Replaced calls to array_search() by in_array() where is no need to get the index
  [Process] Make test AbstractProcessTest::testStartAfterATimeout useful again
  removed non-sense example
  Fixes small typo.
  [Validator] Remove unnecessary include in tests
  [HttpFoundation] minor: clarify Request::getUrlencodedPrefix() regex
  fixed typo
  [Validator] fix DOS-style line endings
  Drop useless execution bit
  bumped Symfony version to 2.6.5
  [Serializer] update changelog
  updated VERSION for 2.6.4
  updated CHANGELOG for 2.6.4
  bumped Symfony version to 2.5.11
  [HttpKernel] Added use of provided by #12022 method to instantiate controller class in bundle's controller resolver
  updated VERSION for 2.5.10
  updated CHANGELOG for 2.5.10
  [Validator] Add a Russian translation for invalid charset message
  [2.3] [Validator] spanish translation for invalid charset message
  ...

Conflicts:
	src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntityValidator.php
	src/Symfony/Component/HttpKernel/Exception/FatalErrorException.php
	src/Symfony/Component/HttpKernel/Exception/FlattenException.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php
	src/Symfony/Component/Validator/Resources/translations/validators.de.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.en.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.es.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.fr.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.pl.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.ru.xlf
	src/Symfony/Component/Validator/Resources/translations/validators.sl.xlf
2015-02-05 07:58:17 +01:00
..
Annotation Normalized @deprecated annotations. 2015-01-05 16:02:26 +01:00
Exception [2.3] CS And DocBlock Fixes 2014-12-22 16:58:09 +01:00
Generator Merge branch '2.5' into 2.6 2015-02-05 07:36:51 +01:00
Loader [Routing] merge instead of replace class and method scheme/method annotations 2015-01-23 18:16:45 +01:00
Matcher [Routing] apply deprecation triggers and fix tests 2015-01-13 13:22:39 +01:00
Tests Merge branch '2.6' into 2.7 2015-02-05 07:58:17 +01:00
.gitignore Added missing files .gitignore 2013-07-21 14:12:18 +02:00
CHANGELOG.md Merge branch '2.3' into 2.5 2014-10-01 07:50:18 +02:00
CompiledRoute.php [2.3] CS And DocBlock Fixes 2014-12-22 16:58:09 +01:00
composer.json bumped min PHP version to 5.3.9 2015-01-09 07:51:41 +01:00
LICENSE Updated copyright to 2015 2015-01-01 13:56:52 +01:00
phpunit.xml.dist [Tests] Silenced all deprecations in tests for 2.3 2014-12-18 20:00:19 +01:00
README.md [Doc] Use Markdown syntax highlighting 2014-10-01 07:38:33 +02:00
RequestContext.php Merge branch '2.5' into 2.6 2014-12-02 21:19:20 +01:00
RequestContextAwareInterface.php fixed CS 2012-07-09 14:54:20 +02:00
Route.php [Routing] apply deprecation triggers and fix tests 2015-01-13 13:22:39 +01:00
RouteCollection.php Merge branch '2.3' into 2.5 2014-12-22 17:29:52 +01:00
RouteCompiler.php [Routing] make host matching case-insensitive according to RFC 3986 2015-01-31 23:26:34 +01:00
RouteCompilerInterface.php renamed hostname to host in the routing system (closes #6775) 2013-01-21 17:57:32 +01:00
Router.php [2.6] CS Fixes And Removed An Unused Import 2014-12-07 19:23:39 +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