Подключение новых YAML конфиг-файлов в сервис-контейнер Symfony.

В Symfony Сервис-Контейнер создается с использованием одного ресурса конфигурации (по умолчанию это файл config/services.yaml). Это дает вам абсолютную гибкость по отношению к настройкам сервисов в приложении.

Добавить новые конфиги с помощью imports.

По умолчанию конфигурация службы находится в config/services.yaml. Но если этот файл становится большим, вы можете организовать несколько файлов. Предположим, вы решили перенести некоторую конфигурацию в новый файл:

Читать далее

Ленивая загрузка сервисов в Symfony. Зачем нужны ленивые сервисы.

Для чего нужна ленивая загрузка сервисов?

В некоторых случаях вы можете захотеть внедрить сервис, который немного тяжело создать, но не всегда используется внутри вашего объекта. Например, представьте, что у вас есть NewsletterManager и вы внедряете в него сервис Mailer. Только несколько методов вашего NewsletterManager фактически используют сервис Mailer, но даже когда вам это не нужно, всегда создается объект сервиса Mailer при создании вашего NewsletterManager.

Читать далее

Как реализовать Декоратор Сервиса в сервис-контейнере Symfony?

Декоратор — это структурный паттерн проектирования, который позволяет динамически добавлять объектам новую функциональность, оборачивая их в полезные «обёртки».

При повторном переопределении существующего определения сервиса, для сервис-контейнера Symfony, то исходный сервис будет теряться:

Читать далее

Создание связи (отношения) один ко многим в Doctrine.

Существует два основных типа отношений / ассоциаций:

  • ManyToOne / OneToMany
  • ManyToMany

ManyToOne/OneToMane наиболее распространенная связь, отображаемая в базе данных с помощью столбца внешнего ключа (например, столбец category_id в таблице product). На самом деле это всего лишь один тип ассоциации, но он виден с двух разных сторон отношения.

Читать далее