Autor | Zpráva | ||
---|---|---|---|
Lion76 Profil * |
#1 · Zasláno: 9. 9. 2007, 14:34:44
Zdravim, chtel bych se zeptat, jestli promenna $GLOBALS je bezpecna, protoze nejsem z toho vubec moudry. Cetl jsem si tady v diskusi prispevky na toto tema a nekteri pouzivaji global a nekteri zase $GLOBALS. Jaky je v tom rozdil? Co je bezpecnejsi? Da se nejakym zpusob promenna $GLOBALS osetrit? Predem vsem dekuji.
|
||
nightfish Profil |
#2 · Zasláno: 9. 9. 2007, 14:40:20
Jaky je v tom rozdil?
když použiješ global $promenna;, tak veškeré výskyty $promenna v nějaké funkci budou odkazovat na globální proměnnou. V tomto případě nemůžeš mít lokální proměnnou se stejným názvem. Na druhou stranu při použití $GLOBALS jednoznačně říkáš, že pracuješ s globální proměnnou, a že jseš si vědom všech problémů s tím spojených. Co je bezpecnejsi ani jedno Da se nejakym zpusob promenna $GLOBALS osetrit? ošetřit proti čemu? V tomto případě vstupuje do hry problém s globálními problémy obecně - preferovanou metodou předávání hodnot do funkcí je pomocí parametrů. V určitých případech může být zase výhodné použít konstanty - ty mají automaticky globální platnost. V případě, že ani jednu z těchto možností nelze použít, je nutné využít globálních proměnných. |
||
Miloš Profil |
#3 · Zasláno: 9. 9. 2007, 14:44:26
Zřejmě máš na mysli register globals.
|
||
Mastodont Profil |
#4 · Zasláno: 9. 9. 2007, 14:49:46
Miloš
Řekl bych, že má na mysli $GLOBALS ... http://cz2.php.net/manual/en/language.variables.predefined.php |
||
Mastodont Profil |
#5 · Zasláno: 9. 9. 2007, 14:56:09
Lion76
Bezpečná není IMHO ani jedna varianta. |
||
nightfish Profil |
#6 · Zasláno: 9. 9. 2007, 14:58:32
Mastodont
Bezpečná není IMHO ani jedna varianta. mohl bys napsat, co konkrétně není na globálních proměnných bezpečného? (global, $GLOBALS, ne register_globals) |
||
Lion76 Profil * |
#7 · Zasláno: 9. 9. 2007, 15:17:27
Dekuji vsem, predevsim nightfish, konecne v tom mam jasno.
|
||
Mastodont Profil |
#8 · Zasláno: 9. 9. 2007, 15:21:29
nightfish
Třeba jejich možnost nastavení zvenčí? |
||
DoubleThink Profil * |
#9 · Zasláno: 9. 9. 2007, 15:58:13
Třeba jejich možnost nastavení zvenčí?
Proměnný parametr vstupující do funkce je z venčí nastavitelný úplně stejně (nesnadno). Jde spíš o integritu a bezkoliznost, kdy ve vícevrstvé funkci (typický příklad RS Drupal), můžeš nechtěně přebíjet rodičovské proměnné, o kterých ani nevíš. |
||
Časová prodleva: 17 let
|
0