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 785e82f814 Merge branch '2.3' into 2.4
* 2.3:
  Revert PHPUnit version, revert APC configuration
  removed APC on the CLI for Travis as it does not work well with PHPUnit and Composer anyway
  [Security] Replace exception mocks with actual exception instances.
  Remove an unused argument.
  Use `Filesystem::chmod` instead of `chmod` when dumping file
  [Form] Added test for disabling buttons
  [Form] Added check for parent disabled status in Button form elements
  Fixes URL validator to accept single part urls
  tweaked Travis configuration to get more tests running
  fixed float comparison in unit tests for HHVM
  upgraded PHPUnit to version 4 for better HHVM support
  [Process] fixed HHVM usage on the CLI
  Fix class names in ApcUniversalClassLoader tests.
  fixed the profiler when an uncalled listener throws an exception when instantiated
  fixed CS
  Added test case for 4c6a2d15095c13b2a35751b2b2712b183be489c4
  Fixed bug in ChoiceType triggering a warning when not using utf-8
  fixed CS
  Avoid levenshtein comparison when using ContainerBuilder.

Conflicts:
	src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
2014-04-03 07:23:50 +02:00
..
Annotation unify constructor initialization style throughout symfony 2013-11-11 19:40:07 +01: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' 2014-01-24 15:36:35 +01:00
Loader Merge branch '2.4' 2014-02-11 14:52:21 +01:00
Matcher Merge branch '2.4' 2014-02-11 14:52:21 +01:00
Tests Merge branch '2.3' into 2.4 2014-04-03 07:23:50 +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 renamed hostname to host in the routing system (closes #6775) 2013-01-21 17:57:32 +01:00
composer.json updated version to 2.5 2013-11-24 21:17:07 +01:00
LICENSE update year on licenses 2014-01-07 08:19:25 -05:00
phpunit.xml.dist made usage of Composer autoloader for subtree-split unit tests 2012-11-09 14:10:06 +01:00
README.md updated the composer install command to reflect changes in Composer 2013-09-18 09:27:26 +02:00
RequestContext.php [2.3] [Routing] Added access to querystring in RequestContext 2013-03-23 09:12:43 +01:00
RequestContextAwareInterface.php fixed CS 2012-07-09 14:54:20 +02:00
Route.php Remove usage of deprecated _scheme in Routing Component 2014-01-06 08:32:07 +01:00
RouteCollection.php [Routing] added support for expression conditions in routes 2013-09-19 12:59:11 +02: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 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