Jak dostat parametry do abstraktního modelu?

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

Dobrý den,

mám abstraktní model do kterého potřebuji dostat parametr z config.neon.

Jak ho tam ale dostat, aby byl přístupný pro všechny poděděné modely a nemusel jsem jim tento parametr předávat pořád dokola přímo v configu?

abstract class Model {

	protected $db;

	public function __construct ( \Nette\Database\Context $db ) {
		$this->db = $db;
	}
}
abstract class ContentModel extends Model {

	public $param; //sem potřebuji dostat ten parametr

	public function __construct ( $param, \Nette\Database\Context $db ) {
		parent::__construct( $db );
		$this->param = $param;
	}
}
class PostModel extends ContentModel {

}
class FormModel extends ContentModel {

}
class NextModel extends ContentModel {

}

V config.neon:

services:
	postModel: App\PostModel
	formModel: App\FormModel
	nextModel: App\NextModel

DB je normálně dostupná, ale nevím si rady jak tam dostat ten parametr, abych nemusel psát pořád dokola třeba něco jako:

services:
	postModel: App\PostModel('%param%')
	formModel: App\FormModel('%param%')
	nextModel: App\NextModel('%param%')

Těch modelů bude časem totiž ještě víc..

Editoval jEhLa (28. 8. 2014 15:01)

Jan Endel
Člen | 1016
+
+3
-

Udělej si službičku co ten parametr zaštítí a tu si nech autowirovat do modelu automaticky.

jEhLa
Člen | 70
+
0
-

To už mě také napadlo.
Ale přemýšlel jsem jestli není nějaké jiné řešení?

David Matějka
Moderator | 6445
+
0
-