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 586c58a354 Merge branch '3.0'
* 3.0:
  [travis] timeout the sigchild tests at 60s
  CS: Single line comments should use double slashes (//) and not hash (#).
  Do not use HttpKernel Extension when not needed for 2.7
  bumped Symfony version to 3.0.2
  Do not use HttpKernel Extension when not needed
  updated VERSION for 3.0.1
  updated CHANGELOG for 3.0.1
  bumped Symfony version to 2.8.2
  updated VERSION for 2.8.1
  updated CHANGELOG for 2.8.1
  bumped Symfony version to 2.7.9
  updated VERSION for 2.7.8
  updated CHANGELOG for 2.7.8
  bumped Symfony version to 2.3.37
  updated VERSION for 2.3.36
  update CONTRIBUTORS for 2.3.36
  updated CHANGELOG for 2.3.36
  Revert "Revert "bug #17052 [2.7] Fixed flatten exception recursion with errors (GrahamCampbell)""
  Revert "bug #17052 [2.7] Fixed flatten exception recursion with errors (GrahamCampbell)"
  use nowdoc instead of heredoc

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2015-12-28 14:15:29 +01:00
..
Annotation [3.0] Various deprecation removal 2015-09-03 21:46:43 +02:00
Exception remove api tags from code 2015-09-28 19:11:22 +02:00
Generator Merge branch '2.8' into 3.0 2015-12-28 14:14:56 +01:00
Loader Merge branch '2.8' 2015-10-24 17:21:06 +02:00
Matcher Merge branch '2.8' 2015-10-29 13:12:54 +01:00
Tests Merge branch '2.8' into 3.0 2015-12-23 09:00:11 +01:00
.gitignore Added missing files .gitignore 2013-07-21 14:12:18 +02:00
CHANGELOG.md Using a service as a router resource 2015-10-01 22:34:24 +02:00
CompiledRoute.php [2.3] CS And DocBlock Fixes 2014-12-22 16:58:09 +01:00
composer.json updated version to 3.1 2015-11-30 22:39:17 +01:00
LICENSE Updated copyright to 2015 2015-01-01 13:56:52 +01:00
phpunit.xml.dist Add missing exclusions from phpunit.xml.dist 2015-11-18 09:19:46 +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.8' 2015-09-29 16:08:28 +02:00
RouteCollection.php Merge branch '2.3' into 2.7 2015-09-29 14:06:14 +02:00
RouteCollectionBuilder.php Merge branch '2.8' 2015-11-23 11:41:47 +01: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