Общие методы в Symfony для разработки веб-приложений

“mooc symfony” означает массовый открытый онлайн-курс (MOOC), посвященный Symfony, популярной платформе PHP для разработки веб-приложений. Вот несколько методов, обычно используемых в Symfony, вместе с примерами кода:

  1. Маршрутизация:
    Symfony использует компонент маршрутизации для сопоставления URL-адресов с контроллерами. Вот пример определения маршрута в Symfony:
// routes.yaml
home:
    path: /
    controller: App\Controller\HomeController::index
  1. Контроллеры.
    Контроллеры управляют логикой обработки запросов и генерации ответов. Вот пример базового действия контроллера:
// HomeController.php
namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;
class HomeController
{
    public function index(): Response
    {
        return new Response('Hello, Symfony!');
    }
}
  1. Внедрение зависимостей:
    Symfony в значительной степени полагается на внедрение зависимостей для управления зависимостями объектов. Вот пример внедрения службы в контроллер:
// HomeController.php
namespace App\Controller;
use App\Service\MyService;
use Symfony\Component\HttpFoundation\Response;
class HomeController
{
    private $myService;
    public function __construct(MyService $myService)
    {
        $this->myService = $myService;
    }
    public function index(): Response
    {
        $data = $this->myService->getData();
        return new Response($data);
    }
}
  1. Шаблоны Twig:
    Symfony интегрируется с движком шаблонов Twig для рендеринга представлений. Вот пример рендеринга шаблона Twig в контроллере:
// HomeController.php
namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Templating\EngineInterface;
class HomeController
{
    private $templating;
    public function __construct(EngineInterface $templating)
    {
        $this->templating = $templating;
    }
    public function index(): Response
    {
        $content = $this->templating->render('home/index.html.twig', ['name' => 'John']);
        return new Response($content);
    }
}

Это всего лишь несколько методов, обычно используемых в Symfony. В Symfony доступно множество других функций и компонентов для создания надежных веб-приложений.