Я создал пакет, который устанавливается с помощью composer, с сущностями в этой структуре папок:
Components\Product\Entity\Product.php
Components\Category\Entity\Category.php
...
Поэтому при установке пакета мне нужно было бы отредактировать файл конфигурации моего приложения, чтобы добавитьправильное сопоставление, например, вот так:
doctrine:
orm:
mappings:
type: annotation
dir: "%kernel.project_dir%/vendor/my-custom/bundle/Components/Product/Entity"
prefix: 'My\Custom\Bundle'
alias: MyCustomBundle
И это для каждой папки.
Так что при установке пакета есть много дополнительных настроек, чтобы добавить сопоставления для всехэти сущности.
Можно ли определить эти отображения изнутри связки?Предпочтительно с помощью прослушивателя или чего-то еще?
Чего я на самом деле пытаюсь достичь, так это того, что сущности могут быть определены в приложении следующим образом:
my_bundle:
entities:
product_entity: App\Entity\Product
category_entity: App\Entity\Category
И если вы не определитедля них будут использоваться объекты по умолчанию из пакета (поэтому product_entity
будет Components\Category\Entity\Product
)
Итак, что я хочу сделать, это перебрать все эти объекты и вручную отобразить их, просто сказал:хочу быть в состоянии сделать это:
$doctrine->mapEntity(
$parameterBag->get('product_entity')
);
Надеюсь, это имеет какой-то смысл!: -)