Parametr v config.neon, jak vytáhnout v modelu

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

Zdravím,

chtěl bych si definovat nějaký parametr, třeba emailovou adresu, kterou chci používat ve více modeleh.

  1. kam to optimálně v config.neon napsat
  2. jak ho pak vytáhnout v tom modelu?

Díky

Jan Mikeš
Člen | 771
+
+6
-

K tomu slouží v configu sekce parameters.
Následně předávás přes konstruktor.

Příklad může vypadat takto:
config.neon:

parameters:
	modelSettings:
		email: xxx
		anotherVariable: yyy

services:
	- MyModel(%modelSettings%)
	- MyAnotherModel(%modelSettings%)

MyModel.php:

class MyModel extends Nette\Object
{
	private $settings;
	private $dependency;

	public function __construct($settings, SomeDependency $dependency)
	{
		$this->settings = $settings;
		$this->dependency = $dependency;
	}
}

Editoval Lexi (12. 1. 2015 1:36)

simPod
Člen | 383
+
0
-

to vypadá dobře, díky!

Filip Procházka
Moderator | 4668
+
0
-

@Lexi raději jsem ti to opravil. Ty ... nejsou potřeba, pokud jsou argumenty třídy nespecifikované a mají typehint, Nette je bude vždy autowirovat