Jak vynutit sestavení SystemContainer při každém načtení stránky

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

Pokud vyvíjíte extension pro kompilátor konfigurace, hodí se, aby se konfigurace znovusestavila při každém načtení stránky. Nejsnazší způsob, jak toho docílit, je přidat řádek do bootstrapu:

touch(__DIR__ . '/config/config.neon');
$configurator->addConfig(__DIR__ . '/config/config.neon');
Filip Procházka
Moderator | 4668
+
0
-

Já jsem to vyřešil tak, že jsem si v CompilerExtension Kdyby přidal všechny rozšíření jako závislosti

foreach ($this->compiler->getExtensions() as $extension) {
	$container->addDependency(Nette\Reflection\ClassType::from($extension)->getFileName());
}

Což přidá trošku inteligence, ale není to dostatečné, pokud načítáte vlastní configy v rozšířeních.

David Grudl
Nette Core | 8227
+
0
-

Leda, že by se pro každý extension nabídla instance Config\Loader, kterou by používali pro načítání souborů, a jejíž dependency by se taky započítávaly.