Duplicitní služby v modulech
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- TomasG
- Člen | 23
Ahoj,
Mám aplikaci rozdělenou do modulů, které potom registruji pomocí
CompilerExtension mezi ‚extensions‘ hlavního configu.
extensions:
replicator: Kdyby\Replicator\DI\ReplicatorExtension
translation: Kdyby\Translation\DI\TranslationExtension
core: App\CubeModule\CoreModule\DI\CoreExtension
test: App\CubeModule\TestModule\DI\TestExtension
flame: Flame\Modules\DI\ModulesExtension
Kazdý ‚modul‘ má svůj config.neon, ve kterém registruje
‚services‘, které potřebuje.
Jenomže mám jeden modul ‚Core‘, který registruje službu (např.
továrničku na komponentu) a pak mám modul ‚Test‘, který registruje tu
samou službu.
Jenomže pak dostávám výjimku:
Multiple services of type App\CubeModule\Components\IFileExplorer found: core.explorer, test.explorer
což chápu, protože se snažím zaregistrovat službu, která už
zaregistrována je.
Nicméně jak tohle řešit? nějak při načítání konfigurace zjistit,
jestli už je služba registrována a pokud ne, tak zaregistrovat?
Díky.