unknown a0372a28bb second commit 15 hours ago
..
Annotation a0372a28bb second commit 15 hours ago
Attribute a0372a28bb second commit 15 hours ago
DependencyInjection a0372a28bb second commit 15 hours ago
Exception a0372a28bb second commit 15 hours ago
Generator a0372a28bb second commit 15 hours ago
Loader a0372a28bb second commit 15 hours ago
Matcher a0372a28bb second commit 15 hours ago
Requirement a0372a28bb second commit 15 hours ago
Alias.php a0372a28bb second commit 15 hours ago
CHANGELOG.md a0372a28bb second commit 15 hours ago
CompiledRoute.php a0372a28bb second commit 15 hours ago
LICENSE a0372a28bb second commit 15 hours ago
README.md a0372a28bb second commit 15 hours ago
RequestContext.php a0372a28bb second commit 15 hours ago
RequestContextAwareInterface.php a0372a28bb second commit 15 hours ago
Route.php a0372a28bb second commit 15 hours ago
RouteCollection.php a0372a28bb second commit 15 hours ago
RouteCompiler.php a0372a28bb second commit 15 hours ago
RouteCompilerInterface.php a0372a28bb second commit 15 hours ago
Router.php a0372a28bb second commit 15 hours ago
RouterInterface.php a0372a28bb second commit 15 hours ago
composer.json a0372a28bb second commit 15 hours ago

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

Help Symfony by sponsoring its development!

Resources