flame/modules – konfigurace sdílených rozšíření
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- pehape
- Člen | 9
Ahoj kolegové, prosím Vás o radu. Do svého projektu jsem zaintegroval rošíření flame/modules a aktuálně se potýkám s následujícím problémem …
V hlavním „config.neon“ mám zaregistrované rozšíření …
extensions:
events: Kdyby\Events\DI\EventsExtension
modules.test: App\Modules\DI\TestExtension
modules.flame: Flame\Modules\DI\ModulesExtension
events:
subscribers:
- App\Listeners\TestListener
V config-u k modulu (test.config.neon) chci do sekce subscribers přidat další listenery …
events:
subscribers:
- App\Listeners\AnotherListener
Otázka zní, jak „AnotherListener“ zaregistruji? Nebo na to jdu z hlediska návrhu špatně? Pokud přidám soubor test.config.neon jako dependency do Compileru, „AnotherListener“ se nezaregistruje.
Díky za reakce …
- pehape
- Člen | 9
Řešení mě napadlo záhy …
V config.test.neon:
services:
anotherListener:
class: App\Listeners\AnotherListener
tags: ['kdyby.subscriber']
A v App\Modules\DI\TestExtension:
<?php
public function loadConfiguration()
{
$builder = $this->getContainerBuilder();
$compiler = $this->compiler;
$compiler->parseServices($builder, $this->loadFromFile(__DIR__ . '/config/config.test.neon'), $this->name);
}
?>
Pokud tedy náš CoreModule využívá kdyby\events, test module si přidá své listenery. V opačném případě se nic neděje …
Editoval pehape (10. 5. 2016 12:07)