Zapnutí cache v Nette\Database
#1 před 8 měsíci
- webdata
- Člen

- Registrovaný: 8. 9. 2010
- Příspěvky: 45
Zapnutí cache v Nette\Database
Zdravím,
Jak je to s používáním cache v Nette\Database. Nikde jsem nenašel žádnou zmínku o tom jak to nastavit. Používám verzi Nette 2.0 Beta ze dne 24. 8. 2011.
Předem dík za info.
#2 před 8 měsíci
- Vyki
- Nette guru

- Registrovaný: 12. 7. 2009
- Příspěvky: 436
Re: Zapnutí cache v Nette\Database
Tak se mrkni do sandboxu https://github.com/…e/master/app, respektive do konfiguracniho souboru https://github.com/…/config.neon
http://ie6funeral.com – Kill IE6 ! ! !
#3 před 8 měsíci
- Richard Faila
- Člen

- Registrovaný: 7. 5. 2011
- Příspěvky: 13
Re: Zapnutí cache v Nette\Database
Vyki napsal(a):
Tak se mrkni do sandboxu https://github.com/…e/master/app, respektive do konfiguracniho souboru https://github.com/…/config.neon
A tam se dá vidět konkrétně co? Vidím jen normální konfigurák… Já jsme se to snažil zprovoznit jak to bylo ukázáno na http://wiki.nette.org/…tte-2-0-beta ale sám si nejsem si jistý jestli to mám správně.
#4 před 8 měsíci
- Richard Faila
- Člen

- Registrovaný: 7. 5. 2011
- Příspěvky: 13
Re: Zapnutí cache v Nette\Database
Ještě ukážu jak to mám já, třeba to někomu pomůže, protože ve videu to je jinak
config.neon
<?php
database:
class: Nette\Database\Connection
arguments: ['mysql:host=localhost;dbname=nette', 'root', '']
model:
class: Model
arguments: [@database,@cacheStorage]
?>
V modelu potom:
<?php
`/**
* Model base class.
*/
class Model extends Object
{
/** @var Nette\Database\Connection */
public $database;
public function __construct(Nette\Database\Connection $database, $cacheStorage){
$this->database = $database;
$this->database->setCacheStorage($cacheStorage);
}
?>
Samotného by mě zajímalo jestli to je správně, protože to místy vypadá, že to nefunguje.
Editoval Richard Faila (20. 9. 2011 20:01)
#5 před 8 měsíci
- studna
- Člen

- Registrovaný: 4. 12. 2009
- Příspěvky: 111
Re: Zapnutí cache v Nette\Database
Toto není zrovna pěkné řešení. Co třeba takto?
// ...
class ServiceFactory
{
public static function createServiceDatabase( Container $container )
{
$db = new Connection(...);
$db->setCacheStorage( $container->cacheStorage );
return $db;
}
}
config.neon
database:
factory: ServiceFactory::createServiceDatabase
#6 před 8 měsíci
- Tomáš Kuba
- Člen

- Registrovaný: 24. 11. 2010
- Příspěvky: 15
Re: Zapnutí cache v Nette\Database
Pro ty pomalejší jako jsem já:
class ServiceFactory {
public static function createServiceDatabase(DiContainer $container, $dns, $user, $password) {
$db = new Connection($dns, $user, $password);
$db->setCacheStorage($container->cacheStorage);
return $db;
}
}
v config.neon pak:
database:
#class: Connection
arguments: ['mysql:host=localhost;dbname=jmenodatabaze', 'uzivatel', 'heslo']
factory: ServiceFactory::createServiceDatabase
Editoval Tomáš Kuba (4. 10. 2011 13:43)
#7 před 4 měsíci
- mulisano
- Nový člen

- Registrovaný: 19. 1. 2012
- Příspěvky: 8
Re: Zapnutí cache v Nette\Database
Richard Faila napsal(a):
Ještě ukážu jak to mám já, třeba to někomu pomůže, protože ve videu to je jinak
config.neon
<?php database: class: Nette\Database\Connection arguments: ['mysql:host=localhost;dbname=nette', 'root', ''] model: class: Model arguments: [@database,@cacheStorage] ?>V modelu potom:
<?php `/** * Model base class. */ class Model extends Object { /** @var Nette\Database\Connection */ public $database; public function __construct(Nette\Database\Connection $database, $cacheStorage){ $this->database = $database; $this->database->setCacheStorage($cacheStorage); } ?>Samotného by mě zajímalo jestli to je správně, protože to místy vypadá, že to nefunguje.
Toto řešení je pouze nepěkné nebo je zároveň i nefunkční?
#8 před 4 měsíci
- mkoubik
- Nette guru

- Registrovaný: 28. 4. 2009
- Příspěvky: 259
Re: Zapnutí cache v Nette\Database
Dá se to napsat jako
database:
class: Nette\Database\Connection
arguments: ['mysql:host=localhost;dbname=nette', 'root', '']
model:
class: Model(@database,@cacheStorage)
setup:
- setCacheStorage(@cacheStorage)
#9 před 4 měsíci
- David Grudl
- Administrator

- Registrovaný: 8. 2. 2005
- Příspěvky: 5835
Re: Zapnutí cache v Nette\Database
Doporučuji jít touto cestou