Jde rozumně vypnout hlavní cache
- snazimse
- Člen | 43
Zdravím,
potřeboval bych malou radu…
mám nastaveno
$configurator->setDebugMode(true);
Očekával bych, že ve vývojářském módu to přestane cachovat…
Existuje nějaká možnost v nette jak zakázat vytvaření všech keší?
Tedy defaultně složka /temp
tedy
$configurator->setTempDirectory(__DIR__ . '/../temp');
$configurator->createRobotLoader()
->addDirectory(__DIR__)
->register();
Když nastavím např:
$configurator->setTempDirectory(false);
Vše končí errorem s InvalidState…
A kontejner se ani nevytvoří bez toho…
Díky moc předem !
- David Matějka
- Moderator | 6445
nejde to, do cache se zapisuje zkompilovany kontejner jako php kod, proc to potrebujes?
- snazimse
- Člen | 43
David Matějka napsal(a):
nejde to, do cache se zapisuje zkompilovany kontejner jako php kod, proc to potrebujes?
Aha, tak chtěl jsem, vidět, jak to jede bez toho a abych nemusel každou službu vypínat zvlášť…
Potřebuju tam hlavně povypínat dočasně doctrine a latte, čili to bude muset vypnout zvlášť?
Jestli bys mohl napsat aspoň jak, jestli třeba removeService nebo to nastavovat v configu apd?
Díky moc !
- David Matějka
- Moderator | 6445
treba latte vypnes pres
services:
latte.latteFactory:
setup:
- setTempDirectory(null)
u doctrine zalezi na integraci, kterou pouzivas (nettrine nebo kdyby?).
ale stejne porad zustava otazka: proc potrebujes vypinat cache?
- snazimse
- Člen | 43
David Matějka napsal(a):
treba latte vypnes pres
services: latte.latteFactory: setup: - setTempDirectory(null)
u doctrine zalezi na integraci, kterou pouzivas (nettrine nebo kdyby?).
ale stejne porad zustava otazka: proc potrebujes vypinat cache?
Kdyby, tak kvuli vyvoji, jinak pak musim mazat rucne, nebo si napsat script
na mazani,
coz bych udelal uz davno, ale ve frameworku mi to prijde neeticke :)
Diky moc jeste jednou !
- snazimse
- Člen | 43
Gappa napsal(a):
Kdyby/Doctrine používám (cca defaultně nastavenou), ale s cache na vývoji jsem zatím žádný problém asi neměl, o jaký jde? :)
No problém je když za vývoje např edituju nějakou entitu, která se někde tahá a rendruje a dojde k chybě, když nevymažu cache, neaktualizuje to změnu apd :)
- Jan Mikeš
- Člen | 771
Ono celý skript na mazání cache může vypadat takto
bin/clear-cache
:
#!/usr/bin/env bash
rm -rf temp/cache/*
rm -rf temp/proxies/*
Potom chmod +x bin/clear-cache
a spuštění jednoduše
bin/clear-cache
:-) rozhodně lepší když už to potřebuješ
nutně, než cache vypínat, ale také jsem se nesetkal s mnoha případy, kdy
bylo cache potřeba mazat (ano, občas to nastane).
Editoval Jan Mikeš (30. 8. 2018 15:50)
- Pavel Kravčík
- Člen | 1196
Ideálně to, co píše @JanMikeš. My jsme si něco podobného hodili do tracyBar pro pohodlnost. :)
- cafesk8
- Člen | 103
Zdravím,
dá se v Latte 2.4 také nějak vypnout Latte cache? Toto zde již
nefunguje, funkce setTempDirectory
požaduje string, NULL
nepovoluje: Argument 1 passed to Latte\Engine::setTempDirectory() must
be of the type string, null given
services:
nette.latteFactory:
setup:
- setTempDirectory(null)
David Matějka napsal(a):
treba latte vypnes pres
services: latte.latteFactory: setup: - setTempDirectory(null)
u doctrine zalezi na integraci, kterou pouzivas (nettrine nebo kdyby?).
ale stejne porad zustava otazka: proc potrebujes vypinat cache?
- David Matějka
- Moderator | 6445
@cafesk8 ahoj, asi myslíš Latte 2.5 – David už to opravil, ale ještě nevydal stable verzi. takže můžeš buď nainstalovat master nebo pingnout @DavidGrudl, jestli by nevydal stable :)
ale když koukám na kód, tak tam není striktní porovnání proti
null
, takže by mohlo stačit tam poslat empty
string - setTempDirectory('')