přístup k cache z config.neon?

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

Ahoj, nejdříve popíši, co chci dělat (možná je to totiž blbost) a pak teprve následuje otázka.

Mám jednoduše nějaké modely pro přístup k db (přes dibi). V neonu je nastavuji klasicky:

stockExchangeMapper:
  class: Akcie\Model\Mapper\StockExchangeMapper(@connection)
stockExchangeOnlineMapper:
  class: Akcie\Model\Mapper\StockExchangeOnlineMapper(@connection, @stockExchangeMapper)

Rád bych si před některé modely předřadil cache. A chtěl bych si to nastavit taky pěkně v modelu nějak takto:

stockExchangeOnlineRepository:
  class: Akcie\Model\Repository\StockExchangeOnlineRepository(@stockExchangeOnlineMapper, @cache)

Teď k otázce: Odkud mám vzít tu cache? Nebo spíše jde nějak cache nakonfigurovat v config.neon? Fórum jsem prohledal myslím důkladně a na nic takového jsem nenarazil. Zde je vlákno o tom, jak všechno pěkně nakonfigurovat a o té cache jen zmínka, kterou moc nechápu.

Samozřejmě bych mohl tu repository vytvořil klasicky a předat ji cache přes getcontext z presenteru, ale to se mně zas tolik nelíbí.

Používám nette 2.0.10 a php 5.4.6
Díky za nějaké rady.

Nox
Člen | 378
+
0
-

No @cacheStorage by měla být služba, takže by mělo jít udělat službu cache a za argument storage a pak injektovat

Osobně co jsem použil v posledním projektu, tak bylo zařazení vlastního cache wrapperu jako služby, argument constructoru @cacheStorage, cache objekt si už udělal sám. Samotný cache objekt je tak trochu odstíněný, jestli je to dobře nebo špatně si úplně jednoznačně netroufnu tvrdit

mkoubik
Člen | 728
+
0
-

I v samotném Nette se to tak používá.

Filip Procházka
Moderator | 4668
+
0
-

Buďto

stockExchangeOnlineRepository:
	class: Akcie\Model\Repository\StockExchangeOnlineRepository
	arguments:
		- @stockExchangeOnlineMapper
		- Nette\Caching\Cache(..., 'Akcie.StockExchangeOnline')

Nebo si řekneš jenom o Nette\Caching\IStorage a instanci Cache si vytvoříš v té třídě.

Osobně používám druhý způsob, mám raději, když je konfigurace méně.