Dynamicke nacitanie configu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
fizzy
Backer | 49
+
0
-

Mam rozdelenu vacsiu aplikaciu do mensich modulov, ktore vyuzivam pri viacerych projektoch a instalujem ich cez composer. Kazdy modul ma nejake services, factories definovane vo vlastnom configu a okrem toho mam tu este konfiguraciu extensions ktore pouzivam vo viacerych moduloch. Tieto configy momentalne manualne vkladam v hlavnom configu ako sucast „includes“ sekcie. Chcel by som to prerobit aby sa automaticky nahrali vsetkych „config.neon“ subory nainstalovanych modulov.

Je to vhodne riesenie alebo ake riesenie by ste mi odporucili?

Momentalne stojim na tom, ze som si vytvoril vlastny CompilerExtension ktory nahrava vsetky config.neon subory najdene v nejakej adresarovej strukture.

class ModuleConfigLoaderExtension extends Nette\DI\CompilerExtension {

	public function loadConfiguration() {
		foreach (Finder::findFiles('config.neon')->from(__DIR__ . "/../../") as $key => $file) {
			$this->compiler->loadConfig($file);
		}
	}
}

Problem je ze funkcia loadConfig nenahra v module definovane extensions :(

Zax
Člen | 370
+
0
-

$compiler->addExtension() ;-)

akadlec
Člen | 1326
+
0
-

@Zax tak konrétně toto volání není až tak jednoduché a ta extension co toto bude volat musí být potomkem ExtensionsExtension musí být přidána k defaultním extensions jinak bude nette řvát že je to pozdě.

Zax
Člen | 370
+
0
-

A sakra…

EDIT: BTW háže to DeprecatedException, mám to chápat tak, že to někdy v minulosti fungovalo a teoreticky by to mohlo být někdy undeprecated? :-)

Editoval Zax (19. 9. 2015 12:54)