Jak zapnout podporu tohoto příkazu? Najednou mi přestal fungovat můj geustbook, s tím že je tento příkaz zakázán či co, co to je za nesmysl? Clearstatcache je velmi, až bych řekl extrémně, důležitý příkaz.
> Clearstatcache je velmi, až bych řekl extrémně, důležitý příkaz.
Tak než tohle napíšeš, tak by sis měl být jistý, že tomu opravdu skvěle rozumíš!
Extrémně důležitá není a v guestbooku ani netuším, kde ji využít! Přečti si prosím soubežnou diskusi "HELP! CHAT NA WEBU !"
Pavel: No, tak tím si teda jistý sem. Bez tohohle příkazu jednoduše zůstávají chybné hodnoty proměnných, pokud dochází k jejich průběžným změnám víckrát během skriptu. Od toho ten příkaz je, že dosavadní hodnoty "vyčistí". Bez tohohle příkazu jednoduše složitější skripty často házejí nesmyslné výsledky a chyby (jen proto že se nevyprázdnily dosavadní hodnoty). Samozřejmě že ten příkaz neni nutný u primitivnějších skriptů, např. guestbook s použitím PHP+MySQL. Ovšam guestbook v čistém PHP, tam už to je naprostá nutnost, ale nejen tam, u čehokoliv složitějšího.
prosim te, precti si manual, stupen slozitosti skriptu se nemeri v poctu pousteni clearstatcache().
clearstatcache() vymaze obsah cache (tj. vyrovnavaci pameti) pro praci s informacemi o souborech, jako je napriklad cas vytvoreni, posledni modifikace, prava etc.
chybne hodnoty promennych - no, to nevim, bud to blbe chapes, nebo to neumis napsat, sorry...
'guestbook v cistym php' - co je necisty php ;-) ?
a nutnost to u slozitejsich skriptu rozhodne neni, to se na me nezlob, to je jako rikat, ze se u slozitejsich skriptu neobejdes bez unlink()...
Tim je mysleno kdyz listovani prispevky ukladani do databaze i cteni obstarava pouze PHP a diskove operace bez pouziti databaze typu SQL. Jakmile probiha vice souborovych operaci v 1 skriptu, se zmenami atributu jako r, w, je prikaz clearstatcache nutnosti. Drive jsem ten prikaz nezal a divil se proc mi skript nefunguje a hazi chybne hodnoty, i kdyz jsem si temer jistej ze to je spravne. Pak me nekdo upozornil na system cachce v PHP a tento prikaz, a s jeho pouzitim skutecne vsechno zacalo fungovat bezchybne. U skriptu kde dochazi za sebou k vice souborovym operacim a se zmenami parametru je tenhle prikaz nezbytnosti. Zakazat ho je velke oklesteni funkcnosti PHP, nechapu proc kdyz dosud to tu mesice fungovalo OK..
Pxw ma pravdu, clearstatchace() je velice dulezita fce pro praci se souborama - pokud nekdo pouziva misto databze nejaky .ini soubory nebo obycejny textaky, bez tohodle se neobejde. clearstatcache() vymaze vyrovnavaci pamet, ovsem vyrovnavaci pamet nikoliv celeho skriptu, ale prave deskriptoru otevrenyho fajlu. co se matne pamatuju, v popisu ty fce je seznam nekolika dalsich "file-related" fci, ktery jsou na informacich z "file status cache" zavisly... Mno, co se budu vysilovat vlastnim popisem, kdyz se to da najit na http://cz.php.net/manual/en/function.clearstatcache.php (for jkt: silne doporucuju precist :)))
Ad Ghort:
jkt si to přečet, jinak by nepsal tu reakci. Jde o to, že se tu mluvilo stále o nějakých proměnných a teprve jkt tu upřesnil, co ta fce dělá.
Na druhou stranu si stále myslím (a to rozhodně není založeno na neznalosti té funkce), že prostě guestbook se dá naprogramovat funkční i bez téhle fce (nemyslím databázově, tam je to OK).
2 andrew: diky za zastani ;-)
kdyz pouzivas fopen()y stridave pro cteni & zapis, tak by imho clearstatcache() nebyl nutnej.
jina vec je, ze v php byl (je? nevim, uz asi ne) jeden bug, kterej nemel rad otvirani pro zapis & cteni stridave v jednom skriptu, ve foru to je napsany (par mesicu zpatky)
btw, stejne by me zajimalo, co mysli pxw tim 'cistym phpckem'...
Čisté PHP: pxw myslel, že nepoužívá SQL, na druhou stranu na tom není nic úžasného nepoužívat něco, co jek dispozici a ulehčí to práci (připadně odlehčí servru, neboť profesionální SŘBD asi pracuje s diskem lépe, než naše skripty, ale to možná kecám). Nciméně chápu, že guestbook není třeba cpát do databází a stačí soubor z čehož je ovšem vidět, že obsluha není tak složitá a tudíž se obejdeme bez nějakých komplikovaných přístupů do souboru.
Btw: Funkce pro obsluhu databází jsou zcela čistě PHP :-)
imho cokoliv co je (rozumne) napsano v cecku bude pracovat efektivnejs nez cokoliv v php, to je snad jasny...
Mno jasně, já jsem jen opatrnej s tím co píšu a mám to pouze logicky vydedukované, nicméně ne prakticky ověřené. Ale jinak je to samozřejmý.