symfony/routing
Maps an HTTP request to a set of configuration variables
Maintainers
v8.1.0
2026-05-29 05:06 UTC
Requires
- php: >=8.4.1
- symfony/deprecation-contracts: ^2.5|^3
Requires (Dev)
- psr/log: ^1|^2|^3
- symfony/config: ^7.4|^8.0
- symfony/dependency-injection: ^7.4|^8.0
- symfony/expression-language: ^7.4|^8.0
- symfony/http-foundation: ^7.4|^8.0
- symfony/yaml: ^7.4|^8.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
MIT fe0bfec72c8a806109fb9c3a5f2b898fe0c76eb3
- Fabien Potencier <fabien.woop@symfony.com>
- Symfony Community
This package is auto-updated.
Last update: 2026-06-05 06:51:06 UTC
README
The Routing component maps an HTTP request to a set of configuration variables.
Getting Started
composer require symfony/routing
use App\Controller\BlogController; use Symfony\Component\Routing\Generator\UrlGenerator; use Symfony\Component\Routing\Matcher\UrlMatcher; use Symfony\Component\Routing\RequestContext; use Symfony\Component\Routing\Route; use Symfony\Component\Routing\RouteCollection; $route = new Route('/blog/{slug}', ['_controller' => BlogController::class]); $routes = new RouteCollection(); $routes->add('blog_show', $route); $context = new RequestContext(); // Routing can match routes with incoming requests $matcher = new UrlMatcher($routes, $context); $parameters = $matcher->match('/blog/lorem-ipsum'); // $parameters = [ // '_controller' => 'App\Controller\BlogController', // 'slug' => 'lorem-ipsum', // '_route' => 'blog_show' // ] // Routing can also generate URLs for a given route $generator = new UrlGenerator($routes, $context); $url = $generator->generate('blog_show', [ 'slug' => 'my-blog-post', ]); // $url = '/blog/my-blog-post'
Sponsor
This package is looking for a backer.
Help Symfony by sponsoring its development!
