Post
#1
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Witam!
Czy sa jakies roznice (wydajnosc, bezpieczenstwo, wylaczajac zasieg) w operowaniu na zmiennych przez superglobalna $GLOBALS a wczesniejsza jej 'globalizacja' przez global? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%)
|
zmienne które z natury mają zasięg globalny to takie których nie definiujesz wewnątrz funkcji, metody, które nie są wartościami w klasie. Zmienne te będziesz miał dostępne w tablicy $GLOBALS, czy zadeklarujesz je tam jawnie ($GLOBALS['a'] = 'b';) czy nie ($a = 'b'; -> tu oczywiście deklaracja musi być tam gdzie zasięg jest globalny).
Pomijając fakt, że powinno się dążyć do programowania w taki sposób aby korzystanie z globalnych zmiennych przez $GLOBALS czy global $zmienna nie było konieczne, jedyna różnica jaką widzę to wygoda. Potrzebując w funkcji dużo zmiennych globalnyych musisz o nich wszystkich pamiętać i zadeklarować je jako globalne:
Używając tablicy $GLOBALS nie musisz deklarować potrzebnych zmiennych jako globalne, bo jawnie korzystasz z nich jako globalnych ($GLOBALS['var1']). Skorzystanie z $GLOBALS wydaje mi się wpłynie też na czytelnośc kodu, bo ktoś (nawet ty sam po jakimś czasie) spoglądając na kod odrazu będzie wiedział skąd wzięły się dane zmienne. pozdr. |
|
|
|
erix [php] $GLOBALS['var'] a global $var - roznice 17.06.2006, 13:07:42
em1X a global to nie jest po prostu umieszczenie zmienn... 17.06.2006, 13:20:54
erix Chyba nie...
Mam gdzies zmienna poza funkcja. I c... 17.06.2006, 13:28:27
erix Cytatjedyna różnica jaką widzę to w... 18.06.2006, 12:31:00 
mike_mech Cytat(erix @ 18.06.2006, 13:31 ) (...) w ... 18.06.2006, 12:33:40
erix UZASADNIJ.
Chodzi o to, ze mam zestaw klas i chce... 18.06.2006, 12:40:09 
mike_mech Cytat(erix @ 18.06.2006, 13:40 ) Chodzi o... 18.06.2006, 12:46:38
erix ale wciaz nie wiem dlaczego NIE STOSOWAC zmiennych... 18.06.2006, 13:01:14
siemakuba Cytatle wciaz nie wiem dlaczego NIE STOSOWAC zmien... 18.06.2006, 13:18:05
em1X Zmiennych globalnych nie powinno sie stosowac, pon... 18.06.2006, 13:28:58
erix To juz chyba standard, zeby nie korzystac z regist... 18.06.2006, 13:32:19
em1X bynajmniej nie mowimy tutaj o register_globals, al... 18.06.2006, 13:37:48
erix em1X, nadmienilem do siemakuba
to bylo tak OT... 18.06.2006, 13:40:22
em1X jasna sprawa
na przyszlosc pamietaj, ze wszelki... 18.06.2006, 13:43:01 
erix Cytat(em1X @ 18.06.2006, 14:43 ) Singleto... 18.06.2006, 21:41:57
siemakuba Cytat(erix @ 18.06.2006, 14:32 ) To juz c... 18.06.2006, 13:58:25
erix O zesz! Chodzila mi po glowie referencja, ale ... 18.06.2006, 14:03:45
em1X Moze inni wyciągną wnioski co jest lepsze i wygodn... 18.06.2006, 14:34:31 ![]() ![]() |
|
Aktualny czas: 14.06.2026 - 08:30 |