Nette 2.3 – lazy loading dependencies

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

Ahoj. Rad bych pozadal o radu. Mam tridu:

class Translator extends Object implements ITranslator
{
	/**
	 * Construct routines
	 *
	 * @param IDictionary $dictionary
	 * @param Request $request
	 */
	public function __construct(IDictionary $dictionary, Request $request = null)
	{
		$this->dictionary = $dictionary;
	}

	/**
	 * @see \Nette\Localization\ITranslator::translate()
	 */
	public function translate($message, $count = NULL, $dateFormat = self::DEFAULT_DATE_FORMAT)
	{
		...
	}
}

Rad bych vyuzil lazy-loading, tj. zavislost konstruktoru Dictionary nenacital v cele sve obludne velikosti, avsak pouze tzv. on-demand. Lze se inspirovat 5 let starym clankem https://phpfashion.com/…lazy-loading (napr. tzv. accessor), anebo se to ve 2.3 resi jiz (nejak) automaticky?

Editoval DavidTheNewbie (27. 2. 2017 22:29)

David Matějka
Moderator | 6445
+
+1
-

accessor je stale aktualni reseni s tim, ze ten uvedeny interface staci registrovat v configu a nette vygeneruje implementaci. funguje to podobne jako generovane tovarny s tim rozdilem, ze se ta metoda jmenuje get.

ale lepsi by bylo, kdyby „Dictionary“ nebylo narocne vytvorit. co je na nem tak obludne velike?

DavidTheNewbie
Člen | 79
+
0
-

David Matějka napsal(a):

accessor je stale aktualni reseni s tim, ze ten uvedeny interface staci registrovat v configu a nette vygeneruje implementaci. funguje to podobne jako generovane tovarny s tim rozdilem, ze se ta metoda jmenuje get.

ale lepsi by bylo, kdyby „Dictionary“ nebylo narocne vytvorit. co je na nem tak obludne velike?

Mnozstvi prekladovych klicu a jejich hodnot…

CZechBoY
Člen | 3608
+
0
-

@DavidTheNewbie nemuzes ten slovnik nacachovat?

looky
Člen | 99
+
0
-

Nepomohlo by ti třeba Nette/Proxy ?