server 52763dedf1 gitignore | преди 2 години | |
---|---|---|
.. | ||
Annotation | преди 2 години | |
DependencyInjection | преди 2 години | |
Exception | преди 2 години | |
Generator | преди 2 години | |
Loader | преди 2 години | |
Matcher | преди 2 години | |
CHANGELOG.md | преди 2 години | |
CompiledRoute.php | преди 2 години | |
LICENSE | преди 2 години | |
README.md | преди 2 години | |
RequestContext.php | преди 2 години | |
RequestContextAwareInterface.php | преди 2 години | |
Route.php | преди 2 години | |
RouteCollection.php | преди 2 години | |
RouteCollectionBuilder.php | преди 2 години | |
RouteCompiler.php | преди 2 години | |
RouteCompilerInterface.php | преди 2 години | |
Router.php | преди 2 години | |
RouterInterface.php | преди 2 години | |
composer.json | преди 2 години |
The Routing component maps an HTTP request to a set of configuration variables.
$ 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'