lms/vendor/symfony/routing
2025-12-15 12:26:23 +01:00
..
Annotation Initial commit from Specify template 2025-12-15 12:26:23 +01:00
Attribute Initial commit from Specify template 2025-12-15 12:26:23 +01:00
DependencyInjection Initial commit from Specify template 2025-12-15 12:26:23 +01:00
Exception Initial commit from Specify template 2025-12-15 12:26:23 +01:00
Generator Initial commit from Specify template 2025-12-15 12:26:23 +01:00
Loader Initial commit from Specify template 2025-12-15 12:26:23 +01:00
Matcher Initial commit from Specify template 2025-12-15 12:26:23 +01:00
Requirement Initial commit from Specify template 2025-12-15 12:26:23 +01:00
Alias.php Initial commit from Specify template 2025-12-15 12:26:23 +01:00
CHANGELOG.md Initial commit from Specify template 2025-12-15 12:26:23 +01:00
CompiledRoute.php Initial commit from Specify template 2025-12-15 12:26:23 +01:00
composer.json Initial commit from Specify template 2025-12-15 12:26:23 +01:00
LICENSE Initial commit from Specify template 2025-12-15 12:26:23 +01:00
README.md Initial commit from Specify template 2025-12-15 12:26:23 +01:00
RequestContext.php Initial commit from Specify template 2025-12-15 12:26:23 +01:00
RequestContextAwareInterface.php Initial commit from Specify template 2025-12-15 12:26:23 +01:00
Route.php Initial commit from Specify template 2025-12-15 12:26:23 +01:00
RouteCollection.php Initial commit from Specify template 2025-12-15 12:26:23 +01:00
RouteCompiler.php Initial commit from Specify template 2025-12-15 12:26:23 +01:00
RouteCompilerInterface.php Initial commit from Specify template 2025-12-15 12:26:23 +01:00
Router.php Initial commit from Specify template 2025-12-15 12:26:23 +01:00
RouterInterface.php Initial commit from Specify template 2025-12-15 12:26:23 +01:00

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 websites 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