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
Nicolas Grekas afcf52f485 Merge branch '2.7'
* 2.7:
  [Hackday] - add trigger error for deprecated clases.
  [2.3] Remove useless tests skips
  [ClassLoader] removes deprecated classes from documentation.
  Add type aliases for allowed types in OptionsResolver
  [ClassLoader] added missing deprecation notice.
  [HttpFoundation] Fix an issue caused by php's Bug #66606.
  [Yaml] Update README.md
  Don't add Accept-Range header on unsafe HTTP requests
  simplify hasScheme method
  adapted merge to 2.5
  adapted previous commit for 2.3
  [Security] Don't send remember cookie for sub request
  [Security] fixed wrong phpdoc
  [HttpKernel] Fix UriSigner::check when _hash is not at the end of the uri
  [2.3] Cleanup deprecations
  [Form] Add deprecation message for Form::bind() and Form::isBound()
  [Validator] add deprecation log (#12674)
  [Filesystem] Keep executable permission when a file is copied
  [HttpKernel] RouterListener uses "context" argument when logging route

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/FormHelperDivLayoutTest.php
	src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/FormHelperTableLayoutTest.php
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Bundle/TwigBundle/composer.json
	src/Symfony/Component/Debug/composer.json
	src/Symfony/Component/Form/Tests/AbstractLayoutTest.php
	src/Symfony/Component/Form/Tests/ResolvedFormTypeTest.php
	src/Symfony/Component/HttpKernel/CHANGELOG.md
	src/Symfony/Component/HttpKernel/composer.json
	src/Symfony/Component/Security/composer.json
2015-01-03 16:56:00 +01:00
..
Annotation Merge branch '2.3' into 2.4 2014-04-23 16:04:21 +02:00
Exception [2.3] CS And DocBlock Fixes 2014-12-22 16:58:09 +01:00
Generator Merge branch '2.5' into 2.6 2014-12-22 17:44:09 +01:00
Loader Merge branch '2.5' into 2.6 2014-12-12 17:21:40 +01:00
Matcher [FrameworkBundle] Removed the deprecated RouterApacheDumperCommand 2014-12-28 18:19:42 +01:00
Tests Merge branch '2.7' 2015-01-03 16:56:00 +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 [3.0] Update required PHP to 5.5.9 2014-12-30 11:17:11 +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 Merge branch '2.3' into 2.5 2015-01-03 12:12:44 +01:00
RouteCollection.php Merge branch '2.3' into 2.5 2014-12-22 17:29:52 +01:00
RouteCompiler.php Docblock fixes 2014-11-30 13:33:44 +00: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