Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] $GLOBALS['var'] a global $var - roznice
erix
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
siemakuba
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

Ostrzeżenie: (0%)
-----


Cytat
le wciaz nie wiem dlaczego NIE STOSOWAC zmiennych globalnych... :/
Myślę, że mamy tu pewne niezrozumienie. Zmiennych globalnych nie należy stosować ze względów przejrzystości kodu, łatwości modyfikacji. Z kodu powinno wynikać co skąd się bierze. Nie znam się na teorii programowania, ale wiem że korzystanie ze zmiennych globalnych przeczy np. istocie funkcji jako takich. Po co jest funkcja? Po to, żeby zebrać pewne czestwo powtarzane fragmenty kodu w jej ramach i zapewnić sobie łatwy dostęp do tych czynności. Stosując zmienne globalne przeczysz temu, bo musiałbyć w każdym fragmencie kodu w którym chcesz użyć danej funkcji zadbać o to żeby te globalne zeminne istniały i w efekcie funkja działała poprawnie. Po to się do funkji przekazuje parametry i po to funkcja zwraca wartość, żeby nie trzeba było uzależniać jej od danych bezpośrednio nie związanych z jej zadaniem.
Jeżeli natomiast funkcja jest używana tyklo w jednym miejscu, gdzie masz utworzone potrzebne zmienne globalne, wtedy... nie potrzebujesz do tego zadania funkji :)

Należy natomiast wyłączyć register_globals, co spodowuje że nie będzie autmatycznie ze zmiennej $_GET['wanda'] tworzona zmienna $wanda. Tu akurat może mieć to zasadniczy wpływ na bezpieczeństwo twojego skryptu.

pozdr.
Go to the top of the page
+Quote Post

Posty w temacie
- 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
- - siemakuba   zmienne które z natury mają zasięg globalny to tak...   18.06.2006, 12:19:23
- - 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


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.06.2026 - 09:38