je možné předat parametry pro extension

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

Ahoj, snažím se nějakým způsobem předat parametry rozšíření pro NetteExtension pomocí pole, ale nedaří seto ,buď jsou prvky protected, nebo config není předán referencí a nebo prostě se k parametrům rozšíření nedostanu.

EDIT

Vyřešeno: tak jsem přecejen našel způsob, jak dostat hodnoty do configu, ale přesto si myslím, že by bylo vhodné mít nějakou pěknou funkci Configurator::addConfig($array). (já vím, že addConfig přidává soubory, ale výstižnější název mě nenapadl) .. Akorát se mi nelíbí, že to hackuje defaults, takže podobný postup nepůjde použít s každým extension.
Má to jednu vadu, že nevím, jak tam vložit závislost (rebuild containeru) na $config.poli.

function configureNette(array &$config, Nette\Config\Configurator $configurator)
{
	$configurator->onCompile[] = function ($c, $compiler) use(&$config) {
			$ext = $compiler->extensions['nette'];
			$ext->defaults = Nette\Config\Helpers::merge($config, $ext->defaults);
		};
}

$my = array(
	'container' => array(
		'debugger' => TRUE
	),
);

configureNette($my, $configurator);

Editoval bojovyletoun (5. 2. 2012 23:22)

Filip Procházka
Moderator | 4668
+
0
-

To je otřesné. Proč to děláš?

bojovyletoun
Člen | 667
+
0
-

chtěl jsem si nějak jednoduše vyzkoušet konfiguraci všeho přes config a napadlo mě to prostě napsat jako pole než vytvářet nový config.neon.

Filip Procházka
Moderator | 4668
+
0
-

Já jenom doufám, že takto to nebude zkoušet nikdo další ;)