Symfony
Фреймворк для работы.
Симфони спроектирован с учётом DDD.
Компоненты:
- SonataAdmin
- Doctrine
- Alice (Fixtures)
Понятия
- Action
- Admin Админка Sonata Admin
- Command Команды CLI утилиты
- Controller Контроллеры. Входная часть приложения по URL
- DTO Data Transfer Object. Классы, хранящие только данные
- DataPersister
- DataTransformer/Api
- Doctrine
- Entity Сущности, они же модели
- Enum Тип данных перечисление
- EventListener
- EventSubscriber
- Exception Тип данных исключение
- Filter
- Form Формы
- Generator
- Message
- MessageBus
- MessageHandler
- Migrations Миграции
- Repository Репозиторий. Нужен, чтобы оперировать над группо Entity. Типо "выбрать все сущности статьи", "выбрать определённые сущности статьи".
- Resizer
- Security
- Serializer
- Service Сервисы. То что по сути не подходит в остальные папки. Функции утилиты.
- Twig/Extension
Дебаг
Существует Symfony Profiler (полосочка снизу).
Можно использовать в контроллерах функции dump
и dd
(dump and die) для
вывода нужных нам переменных.
Обучающие материалы:
- Symfoniacs (канал на Youtube)
Статьи
Люди
Недостатки
- Twig имеет питоновский синтаксис и сильно отличается от PHP, когда как Jinja и подобные шаблонизатора в Python (Twig был от разработчика Jinja) выглядят естественно для языка
- YAML-driven-development
Веб-ресурсы:
Видео
- Gary Clarke (много видео про PHP и Symfony)
- Symfony DDD: https://youtu.be/rkQ3-T82pkU