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 d699a929e0 Merge branch '2.2'
* 2.2: (70 commits)
  change wrapped exception message to be more usefull
  updated VERSION for 2.0.23
  update CONTRIBUTORS for 2.0.23
  updated CHANGELOG for 2.0.23
  [Form] fixed failing test
  [DomCrawler] added support for query string with slash
  Fixed invalid file path for hiddeninput.exe on Windows.
  fix xsd definition for strict-requirements
  [WebProfilerBundle] Fixed the toolbar styles to apply them in IE8
  [ClassLoader] fixed heredocs handling
  fixed handling of heredocs
  Add a public modifier to an interface method
  removing xdebug extension
  [HttpRequest] fixes Request::getLanguages() bug
  [HttpCache] added a test (cached content should be kept after purging)
  [DoctrineBridge] Fixed non-utf-8 recognition
  [Security] fixed HttpUtils class tests
  replaced new occurences of 'Request::create()' with '::create()'
  changed sub-requests creation to '::create()'
  fixed merge issue
  ...

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php
	src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/toolbar.html.twig
	src/Symfony/Component/DomCrawler/Link.php
	src/Symfony/Component/Translation/Translator.php
2013-03-20 15:03:03 +01:00
..
Annotation renamed hostname to host in the routing system (closes #6775) 2013-01-21 17:57:32 +01:00
Exception [Routing] added more phpdoc and replaced 'array of type' by 'Type[]' 2012-11-12 16:14:50 +01:00
Generator [Routing] fix url generation for optional parameter having a null value 2013-03-14 10:39:13 +01:00
Loader [Routing] make xml loader more tolerant 2013-03-05 15:01:56 +01:00
Matcher [Routing] fixed previous merge 2013-02-07 23:44:42 +01:00
Tests [Routing] fix url generation for optional parameter having a null value 2013-03-14 10:39:13 +01:00
.gitignore made usage of Composer autoloader for subtree-split unit tests 2012-11-09 14:10:06 +01:00
CHANGELOG.md merged branch fabpot/routing-options (PR #6738) 2013-01-15 17:25:04 +01:00
CompiledRoute.php renamed hostname to host in the routing system (closes #6775) 2013-01-21 17:57:32 +01:00
composer.json Defined stable version point of Doctrine. 2013-02-22 13:53:49 -05:00
LICENSE updated license year 2013-01-04 17:59:43 +01:00
phpunit.xml.dist made usage of Composer autoloader for subtree-split unit tests 2012-11-09 14:10:06 +01:00
README.md made usage of Composer autoloader for subtree-split unit tests 2012-11-09 14:10:06 +01:00
RequestContext.php Fixed PHPDoc 2013-01-11 17:38:19 +00:00
RequestContextAwareInterface.php fixed CS 2012-07-09 14:54:20 +02:00
Route.php renamed hostname to host in the routing system (closes #6775) 2013-01-21 17:57:32 +01:00
RouteCollection.php remove() should not use deprecated getParent() so it does not trigger deprecation internally 2013-03-05 15:23:59 +01:00
RouteCompiler.php Merge branch '2.1' into 2.2 2013-03-11 18:18:44 +01:00
RouteCompilerInterface.php renamed hostname to host in the routing system (closes #6775) 2013-01-21 17:57:32 +01:00
Router.php merged branch Seldaek/psr3 (PR #6628) 2013-01-10 17:57:14 +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 --dev
$ phpunit