processConfiguration($configuration, $configs); // Services laden $loader = new YamlFileLoader( $container, new FileLocator(__DIR__ . '/../../config') ); $loader->load('services.yaml'); // Konfigurationswerte als Parameter setzen $container->setParameter('billing.pdf_template', $config['pdf_template']); $container->setParameter('billing.invoice_prefix', $config['invoice_prefix']); $container->setParameter('billing.payment_gateway', $config['payment_gateway']); // Doctrine-Mappings registrieren $this->registerDoctrineMapping($container); } /** * Registriert Doctrine-Entity-Mappings für das Modul */ private function registerDoctrineMapping(ContainerBuilder $container): void { $bundles = $container->getParameter('kernel.bundles'); if (isset($bundles['DoctrineBundle'])) { // Doctrine-Mapping für Entities registrieren $container->prependExtensionConfig('doctrine', [ 'orm' => [ 'mappings' => [ 'BillingModule' => [ 'is_bundle' => false, 'type' => 'attribute', 'dir' => '%kernel.project_dir%/vendor/mycrm/billing-module/src/Entity', 'prefix' => 'MyCRM\BillingModule\Entity', 'alias' => 'BillingModule', ], ], ], ]); } } public function getAlias(): string { return 'billing'; } }