ako a kde definovať parametre aplikácie

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

Ahoj chalani!

Chcem sa opýtať, ako riešite konfigurovateľné parametre aplikácie? Mám približne 20 parametrov, sú to rôzne konštanty, connection stringy pre soap atď.
Chcem sa opýtať, konštanty chcem používať aj v repozitároch, pričom z config.neon si ich tam neviem dostať. Teraz mám v config.neon zopár parametrov a získavam ich v prezentéri v konštruktori, napríklad

public function __construct(\Nette\DI\Container $context = NULL) {
	parent::__construct($context);
	$this->redirection = $context->parameters['redirect'];
}

Avšak do repozitára ich neviem dostať, tam mám nejaké konštanty priamo v Repository.

Chcel by som nejaký konfiguračný súbor, ktorý bude separátne od ostatných, ale nenašiel som konkrétne riešenie. V dokumentácii sa preberajú konfiguračné súbory vo vlastných kontajneroch, ale neviem si to nejako prispôsobiť. Ďakujem

Tabetha
Člen | 140
+
0
-

tento link by ti mohol pomôcť… premenné z parameters v config.neon získavaš pomocou

%premenna_v_parameters%
vitkutny
Člen | 73
+
0
-

v config mám

	parameters:
		photo:
			dir: '%wwwDir%/upload/photo'
			original: '%photo.dir%/original/'
			cache: '%photo.dir%/cache/'
			error: '%photo.dir%/error.jpg'
			watermark: '%photo.dir%/watermark.png'
			extension: '.jpg'
	services:
		photoPresenter: PhotoPresenter(%photo%)

timto zpusobem jde predat parametry do konstruktoru jakekoliv sluzby

xxxmisko
Člen | 140
+
0
-

Ďakujem chlapci za nakopnutie, moc ste mi pomohli.
Už všetko funguje. Len ešte by som sa chcel opýtať, má takéto načítavanie parametrov v konštruktore vplyv na systémové požiadavky aplikácie a celkovo rýchlosť aplikácie?
Alebo je toto riešenie plne v poriadku?
Ďakujem

David Matějka
Moderator | 6445
+
0
-

vliv bude nulovy, muzes se kouknout do vygenerovaneho \SystemContainer jak to vypada, ty parametry se tam daji natvrdo $service = new Foo('bar');

a tohle reseni je naprosto v poradku, doporucovane a spravne :)

xxxmisko
Člen | 140
+
0
-

máš pravdu, super