Быстрый старт в Symfony 7

Список всех остальных уроков по Symfony здесь (работа с базой данных, Twig, формы и.т.д.)

Если вам нужно разработать или доработать проект на Symfony, можете воспользоваться моими услугами.

Что такое Symfony?

Symfony: набор инструментов для веб-разработки на PHP, модульная структура и готовые решения для форм и базы данных.

Утилита командной строки (Symfony CLI) для работы с Symfony

Установка Symfony CLI: утилита командной строки для Linux, Windows и macOS и проверка установки.

Установка Symfony 7

Варианты установки Symfony 7: фреймворк как пакет Composer, требования к версии PHP и установка через утилиту symfony cli.

Способ запуска локального сервера Symfony через cli

Команды symfony cli для локального сервера разработки: serve, server:start, server:stop и open:local.

Установка плагина Symfony для PhpStorm.

Плагин Symfony для PhpStorm: автоподсказки и навигация по коду проекта, установка и настройка в редакторе.

Командная консоль (терминал) встроенная в PHPStorm.

Встроенный терминал PHPStorm: где его открыть, как добавить вкладку и зачем он нужен при работе с Symfony.

Шаблон проектирования (программирования) MVC.

Шаблон проектирования MVC: разделение внешнего вида и логики приложения, из чего состоят модель, вид и контроллер.

Папка public в Symfony. Входная точка проекта.

Папка public в Symfony: почему она служит корневой директорией сайта и какие файлы в ней хранятся.

Папка src Symfony. О сборке проекта в composer.

Директория src в проекте Symfony и сборка через Composer: из каких пакетов состоит фреймворк и откуда берётся папка vendor.

Знакомимся с остальными файлами и папками проекта

Структура проекта Symfony: назначение папок bin, config, migrations, templates и tests.

Формат yaml

Формат YAML: для чего он нужен, чем отличается от XML и JSON и почему в нём хранят настройки приложения.

Symfony routing и route. Маршрутизация.

Маршрутизация в Symfony: как запрос по адресу попадает в нужный метод контроллера, атрибуты и файлы настроек.

Symfony Controller. Что это и как его создать?

Основы работы с контроллерами в Symfony 7: создание контроллеров и роутов через консольные команды, структура класса контроллера, наследование от AbstractController и варианты ответов (HTML, JSON, редирект).

Создание роутов Symfony. Атрибуты и аннотации.

Создание роутов Symfony через атрибуты #[Route] и устаревшие аннотации: чем они отличаются и что применяется в Symfony 7.

Создание роутов в файле routes.yaml в Symfony

Создание роутов Symfony в файле config/routes.yaml: сканирование контроллеров и запись своего роута вручную.

Как вернуть http ответ для какого-нибудь роута в Symfony

Возврат HTTP-ответа из роута Symfony через класс Response с примером кода контроллера.

Как вернуть json ответ для какого-нибудь роута в Symfony

Возврат JSON из роута Symfony методом json(): пример для API и обмена данными между бэкендом и фронтендом.

Передача аргументов в роутах в контроллер Symfony

Передача аргументов из адреса в контроллер Symfony через фигурные скобки в роуте, указание типа и несколько параметров.

Как сделать аргумент в контроллере не обязательным в Symfony

Как сделать аргумент роута Symfony необязательным: значение по умолчанию и порядок обязательных и необязательных аргументов.

Что такое шаблонизатор Twig и зачем он нужен?

Шаблонизатор Twig в Symfony: какую задачу он решает и как связан с видом в модели MVC.

Вывод шаблона Twig внутри контроллера Symfony.

Вывод Twig-шаблона из контроллера Symfony: установка пакета template и отдача разметки вместо класса Response.

Передача переменных в Twig шаблон.

Передача переменных из контроллера в Twig-шаблон и правило, какая логика допустима в шаблоне, а какая остаётся в контроллере.

Инструменты для отладки в Symfony

Отладка в Symfony: панель profiler, установка пакета debug и конструкции dump и dd для просмотра значений переменных.

Symfony Command. Консольные команды.

Консольные команды Symfony: список через bin/console list, встроенные команды вроде cache:clear и создание своей команды.

Symfony skeleton . Знакомство.

Пакет Symfony Skeleton: минимальная сборка для консольного приложения или API и установка через Composer.

Что еще добавить в этот курс? Каких уроков вам не хватило?