mgerm_external:symfony:controller

Контроллеры

Контроллер - это обработчик точек входа для 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)

  • mgerm_external/symfony/controller.txt
  • Последнее изменение: 13-11-2024 09:58
  • Ермилов Егор Павлович