symfony-modular-skeleton icon indicating copy to clipboard operation
symfony-modular-skeleton copied to clipboard

feat: added doctrine mapping builder

Open GomelHawk opened this issue 4 years ago • 3 comments

Как продолжение концепции "модули всё своё носят с собой" добавлена возможность использования своей конфигурации маппинга для каждого модуля наравне с конфигурацией сервисов и роутинга.

XML формат выбран как наиболее быстрый согласно документации: Doctrine Mapping

Путь "Infrastructure/Doctrine/Mapping" выбран из соображений совместимости с проектами, использующими многоуровневую архитектуру.

GomelHawk avatar Mar 29 '21 12:03 GomelHawk

@vudaltsov - please review, as there is no way to assign a pull request to someone

GomelHawk avatar Apr 02 '21 15:04 GomelHawk

Зачем если все настраивается в стандартном конфиге доктрины config/packages/doctrine.yaml

    mappings:
        App:
            is_bundle: false
            type: annotation
            dir: '%kernel.project_dir%/src/'
            prefix: 'App\'
            alias: App

pchelk1n avatar Apr 26 '21 06:04 pchelk1n

Спасибо за проявленный интерес.

Да, Вы абсолютно правы и мы можем вручную прописывать каждый раз изменения для маппинга в doctrine.yaml. Равно как и конфигурацию сервисов в services.yaml и роутов в routes.yaml. Мало того, мы там тоже можем реализовать разделение конфигураций для каждого модуля путем импорта отдельных файлов модульных конфигов в основной. Это все есть в документации: How to Import Configuration Files/Resources.

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

GomelHawk avatar Apr 26 '21 12:04 GomelHawk