Autor | Zpráva | ||
---|---|---|---|
MMoka Profil * |
#1 · Zasláno: 16. 5. 2023, 15:15:19
Nevím, jestli tomu správně rozumím, ale pokud aplikuji v PHP ob_start, je možné cache promazat, znovu načíst ... řekněme každou hodinu?
Hrozně moc děkuji za výpomoc. |
||
Keeehi Profil |
#2 · Zasláno: 16. 5. 2023, 23:12:38
MMoka:
ob_start není keš. To ob znamená output buffer. Normálně, když máš v kódu třeba echo "foo"; tak se ten řetězec pošle na výstup ihned, a pak se pokračuje dalším příkazem.
Pokud se někde před tím zabolalo ob_start, tak místo toho, aby se to rovnou poslalo na výstup, tak si to PHP jen někam uloží a na výstup se v tu chvíli nepošle nic. Pokud další příkaz chce něco vypsat, jen se to přidá do toho "uložiště". S těmi daty se dá určitým zpusobem pracovat (k tomu slouží další ob_* funkce, jejich callback parametry atp.) ale většinou se jen zavolá ob_end_flush, která vezme vše co se v uložišti nastřádalo a posle to na výstup. Co je důležité je to, že tento output buffer funguje jen v rámci jednoho běhu scriptu. Když ten script poběží znovu, bude na začátku prázdný. Nic si z předchozího běhu nepamatuje. Mám takový pocit, že jsi špatně pochopil, co funkce ob_* dělají. A tudíž ani ta otázka moc nedává smysl. Co vlastně chceš udělat? Jaký máš problém? |
||
anonym_ Profil * |
#3 · Zasláno: 17. 5. 2023, 13:43:58
MMoka:
Kromě toho, co píše Keeehi, cache nechceš čistit každou hodinu (nebo jakýkoliv jiný pevně daný časový úsek), ale ideálně jen tehdy, kdy dojde k nějakým změnám. Pokud chceš řešit opravdu cache (a ne jen správně pochopit funkci ob_ funkcí). |
||
Časová prodleva: 12 měsíců
|
0