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
+
0
-

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
+
0
-

Ř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)