- Hinzufügen der DependencyInjection-Konfiguration für das Billing-Modul. - Erstellen der Invoice-Entity mit API-Ressourcen und Berechtigungen. - Konfigurieren der Services in services.yaml für das Billing-Modul. - Implementieren von CLI-Commands zur Verwaltung von Modul-Lizenzen und zur Auflistung installierter Module. - Erstellen eines API-Controllers zur Verwaltung von Modulen und Lizenzen. - Hinzufügen eines EventListeners für das Booten von Modulen. - Definieren von Interfaces für Lizenzvalidierung und Modul-Plugins. - Implementieren der ModuleRegistry zur Verwaltung und Booten von Modulen. - Erstellen eines LicenseValidator-Services zur Validierung und Registrierung von Lizenzen.
25 lines
795 B
YAML
25 lines
795 B
YAML
# Plugin-System Services Configuration
|
|
|
|
services:
|
|
# Lizenz-Validator
|
|
App\Plugin\LicenseValidatorInterface:
|
|
class: App\Service\LicenseValidator
|
|
arguments:
|
|
$licenseServerUrl: '%env(LICENSE_SERVER_URL)%'
|
|
$instanceId: '%env(INSTANCE_ID)%'
|
|
|
|
# Module Registry (automatisches TaggedIterator sammelt alle Plugins)
|
|
App\Plugin\ModuleRegistry:
|
|
arguments:
|
|
$modulePlugins: !tagged_iterator app.module_plugin
|
|
|
|
# Event Listener für Module-Boot
|
|
App\EventListener\ModuleBootListener:
|
|
tags:
|
|
- { name: kernel.event_listener, event: kernel.request, priority: 256 }
|
|
|
|
# Auto-Configuration für Module-Plugins
|
|
_instanceof:
|
|
App\Plugin\ModulePluginInterface:
|
|
tags: ['app.module_plugin']
|