Skip to content

symfony/routing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ee9a67e · Jan 17, 2025
Sep 25, 2024
Nov 12, 2023
Feb 2, 2024
Oct 19, 2023
Jun 20, 2024
Aug 26, 2024
Jan 17, 2025
Jul 23, 2024
Sep 20, 2024
Jan 17, 2025
Jul 6, 2024
Jul 21, 2013
Jul 23, 2024
Nov 5, 2024
Mar 20, 2024
Jan 24, 2023
Dec 8, 2023
Nov 6, 2024
Jul 5, 2023
Jun 20, 2024
Jun 20, 2024
Aug 8, 2024
Aug 16, 2021
Jul 23, 2024
Jul 5, 2023
Oct 19, 2023
Jun 2, 2021

Repository files navigation

Routing Component

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

The Routing component for Symfony 7.1 is backed by redirection.io.

redirection.io logs all your website’s HTTP traffic, and lets you fix errors with redirect rules in seconds. Give your marketing, SEO and IT teams the right tool to manage your website traffic efficiently!

Help Symfony by sponsoring its development!

Resources