Атрибут Route
Атрибут Route вешается на метод
контроллера и задаёт адрес страницы. Первым
параметром передаётся путь URL. После запроса
Symfony вызывает метод и возвращает его ответ.
Синтаксис
#[Route(path, name: name)]
Пример
Давайте повесим метод контроллера на адрес '/':
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
class ArticleController extends AbstractController
{
#[Route('/', name: 'article_index')]
public function index(): Response
{
return new Response('hello');
}
}
?>
Результат выполнения кода:
"hello"
Пример
Давайте примем параметр name из URL:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
class ArticleController extends AbstractController
{
#[Route('/user/{name}', name: 'article_user')]
public function user(string $name): Response
{
return new Response($name);
}
}
?>
Результат выполнения кода для адреса /user/abcde:
"abcde"