Контроллеры
Контроллер - это обработчик точек входа для HTTP запросов. Каждый контроллер независим от другого, но может их вызывать через HTTP редирект
Пример простого контроллера
namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; class Test extends AbstractController { #[Route('/test', name: 'app_test')] public function index(): Response { return $this->json([ 'status'=>'ok' ]); } #[Route('/test_me_bad', name: 'app_test2')] public function index(): Response { return $this->json([ 'status'=>'bad' ]); } }
Что получилось в итоге?
У нашего приложения появился url http:<адрес>/test который на ответ дает JSON строку. Так же могут использоваться и другие подходы: Отрисовка страницы описной в /templates/test.html.twig с присвоением переменной Twig foo значения bar <code php> $this→render('/templates/test.html.twig',[ 'foo'⇒'bar' ]); </code> Перенаправление на URL по имени в контроллере. Т.е. будет перенаправление на URL - l http:<адрес>/test_me_bad
$this->redirectToRoute('app_test2');
Подробнее Controller (Symfony 6.4 Docs)