přístup k cache z config.neon?
- lvq
- Člen | 47
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
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
- Filip Procházka
- Moderator | 4668
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ě.