Musa 4547782a4a first commit 10 місяців тому
..
Annotation 4547782a4a first commit 10 місяців тому
Attribute 4547782a4a first commit 10 місяців тому
DependencyInjection 4547782a4a first commit 10 місяців тому
Exception 4547782a4a first commit 10 місяців тому
Generator 4547782a4a first commit 10 місяців тому
Loader 4547782a4a first commit 10 місяців тому
Matcher 4547782a4a first commit 10 місяців тому
Requirement 4547782a4a first commit 10 місяців тому
Alias.php 4547782a4a first commit 10 місяців тому
CHANGELOG.md 4547782a4a first commit 10 місяців тому
CompiledRoute.php 4547782a4a first commit 10 місяців тому
LICENSE 4547782a4a first commit 10 місяців тому
README.md 4547782a4a first commit 10 місяців тому
RequestContext.php 4547782a4a first commit 10 місяців тому
RequestContextAwareInterface.php 4547782a4a first commit 10 місяців тому
Route.php 4547782a4a first commit 10 місяців тому
RouteCollection.php 4547782a4a first commit 10 місяців тому
RouteCompiler.php 4547782a4a first commit 10 місяців тому
RouteCompilerInterface.php 4547782a4a first commit 10 місяців тому
Router.php 4547782a4a first commit 10 місяців тому
RouterInterface.php 4547782a4a first commit 10 місяців тому
composer.json 4547782a4a first commit 10 місяців тому

README.md

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