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 774674efbf feature #10112 [Routing] Add createRoute method for AnnotationClassLoader (henrikbjorn)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Routing] Add createRoute method for AnnotationClassLoader

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | ~
| License       | MIT
| Doc PR        | ~

This allows to use a custom route class. So if you want to support
annotations for Routing in Silex it can now be done while keeping the
custom routing options Silex supports.

Commits
-------

97404b3 Add createRoute method for AnnotationClassLoader
2014-01-25 11:05:55 +01: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 Add createRoute method for AnnotationClassLoader 2014-01-23 11:11:15 +01:00
Matcher [Routing][FrameworkBundle] Deprecated the apache dumper 2014-01-13 21:29:22 +01:00
Tests Remove usage of deprecated _scheme in Routing Component 2014-01-06 08:32:07 +01: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