urban 02fbfd43e2 codes commit 10 months ago
..
Annotation 02fbfd43e2 codes commit 10 months ago
DependencyInjection 02fbfd43e2 codes commit 10 months ago
Exception 02fbfd43e2 codes commit 10 months ago
Generator 02fbfd43e2 codes commit 10 months ago
Loader 02fbfd43e2 codes commit 10 months ago
Matcher 02fbfd43e2 codes commit 10 months ago
Alias.php 02fbfd43e2 codes commit 10 months ago
CHANGELOG.md 02fbfd43e2 codes commit 10 months ago
CompiledRoute.php 02fbfd43e2 codes commit 10 months ago
LICENSE 02fbfd43e2 codes commit 10 months ago
README.md 02fbfd43e2 codes commit 10 months ago
RequestContext.php 02fbfd43e2 codes commit 10 months ago
RequestContextAwareInterface.php 02fbfd43e2 codes commit 10 months ago
Route.php 02fbfd43e2 codes commit 10 months ago
RouteCollection.php 02fbfd43e2 codes commit 10 months ago
RouteCollectionBuilder.php 02fbfd43e2 codes commit 10 months ago
RouteCompiler.php 02fbfd43e2 codes commit 10 months ago
RouteCompilerInterface.php 02fbfd43e2 codes commit 10 months ago
Router.php 02fbfd43e2 codes commit 10 months ago
RouterInterface.php 02fbfd43e2 codes commit 10 months ago
composer.json 02fbfd43e2 codes commit 10 months 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'

Resources