TemplateFactory a setLoader

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

Zdravím,

řešíme problém okolo nastavení Loaderu pro Latte\Engine.

Ve třídě Nette\Bridges\ApplicationLatte\TemplateFactory je v metodě createTemplate:

<?php
		if ($control instanceof UI\Presenter) {
			$latte->setLoader(new Loader($control));
		}
?>

Tato část kódu mi přepisuje vlastní loader, který si nastavuji v konfigu.

	nette.latteFactory:
		implement: Nette\Bridges\ApplicationLatte\ILatteFactory
		setup:
			- setLoader(@betterLoader)

Chtěl bych se tedy zeptat z jakého důvodu bylo tímto způsobem implementováno?

Případně bych udělal request pro změnu, kde by se kontrolovalo před nastavením loaderu (v TemplateFactory) zda již nemá nějaký loader nastavený.

Díky za názory.

enumag
Člen | 2118
+
+1
-

Pokud by tvůj loader používal $presenter tak by to nefungovalo. Možná by bylo lepší mít službu typu ILoaderFactory, kterou by TemplateFactory využívala a předávala jí $presenter.

Editoval enumag (15. 12. 2014 16:03)