Контроллеры
Контроллер - это обработчик точек входа для 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:<адрес>/testmebad
$this->redirectToRoute('app_test2');
Подробнее Controller (Symfony 6.4 Docs)