Autor | Zpráva | ||
---|---|---|---|
mou Profil * |
#1 · Zasláno: 12. 11. 2010, 13:19:00
Chtěl bych se zeptat,
existuje v php něco jako permanentní úložiště proměnných? Abych nemusel v každém skriptu načítat stejná statická data z databáze? Data by se načetla třeba jen 1x denně a byla by uložena v proměnných, které bych mohl rovnou ze skriptů volat. Díky |
||
AM_ Profil |
#2 · Zasláno: 12. 11. 2010, 13:26:00
a kde by měla ta data být uložená? v paměti? na disku? zamysli se nad principem PHP a počítače možná samotného - Do paměti se tvůj skript tahá pouze na jeho vykonání a pak se zase hned unloaduje, takže při každém natažení skriptu je nutné vše zavést znovu.
Můžeš použít třeba nějakou diskovou cache nebo v extrémním případě memcached (paměťová cache), ale mám pocit, že tvůj případ bude spíš to, kdy programátor začíná něco tušit o optimalizaci a má chuť všechno psát tak, aby to běželo 2 milisekundy místo 5ti, nejsme už ale v době 386ek a taková horlivá optimalizace je spíš ztráta tvého času (sám si spočítej, kdybys na tom dělal hodinu, musel by tvůj web prodělat 1 200 000 návštěv, aby se taková optimalizace řekněme vyplatila; ale ono v praxi je stejně lidem jedno, zda načtení webu trvá 100 nebo 103 miliseknud). |
||
Nox Profil |
#3 · Zasláno: 12. 11. 2010, 13:26:50
Souborem nebo APC, memcached...
|
||
mou Profil * |
#4 · Zasláno: 12. 11. 2010, 13:38:23
Nox:
díky APC bude ideální řešení |
||
Nox Profil |
#5 · Zasláno: 12. 11. 2010, 13:40:12
Jestli je dostupné... ale stejně viz AM
|
||
imploder Profil |
#6 · Zasláno: 12. 11. 2010, 13:40:28 · Upravil/a: imploder
mou:
Ano, tzv. sessions. Je to úložiště záznamů ve tvaru klíč=hodnota. Session se vytvoří funkcí session_start(). Ve výchozím nastavení se na serveru ukládá do souborů, ale dá se i zařídit ukládání do databáze. Když se session vytvoří, prohlížeč dostane jeho identifikátor (tzv. SID - ve formě cookies nebo jako součást URL) a pomocí tohoto identifikátoru pak k sessionu přistupuje. V PHP se k sessionu dá přistupovat $_SESSION[] - takhle: // zapsání hodnoty: $_SESSION['barva'] = 'zelena'; // přečtení a zobrazení hodnoty: echo "barva uložená v sessionu je: " . $_SESSION['barva']; Session se zruší funkcí session_destroy(). Viz PHP: Sessions - Manual. EDIT: aha, tak asi jsem mimo |
||
Časová prodleva: 13 let
|
0