Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Tworzenie zmiennej superglobalnej, czy mozna utworzyc zmienna superglobalną?
Orzeszekk
post
Post #1





Grupa: Zarejestrowani
Postów: 260
Pomógł: 14
Dołączył: 8.09.2011

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


Witam. Moze niektorym to pytanie wyda sie głupie i banalne, niemniej jednak jest mi potrzebne.

Z benchmarka mojego wynika ze tworząc system języków, stosując tablicę asocjacyjną zamiast stałych jest 2 -3 razy szybciej. Stosując indeksy cyfrowe jest jeszcze szybciej. Jest to ok. 10-20% czasu wykonywania skryptu.

Niemniej jednak, jeśli stworzę tablicę asocjacyjną to za każdym razem w każdej metodzie gdzie chce uzyc jezyka bede musial pisac global $langs. Dostęp do tablicy przez singleton jeszcze bardziej mija sie z celem gdyż wyjdzie jeszcze wolniej niż stałe.

Mozna (bez uzycia register_globals) utworzyc sobie tablicę superglobalną jak $_POST? bylaby bardzo wygodna w uzyciu.

zamiast pisac:

global $langs;
new Label($langs['pobieranie_danych']);

pisałbym sobie
new Label($langs['pobieranie_danych']);
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
by_ikar
post
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Prawdę mówiąc jeżeli chcesz mieć dostęp globalny do jakiejś zmiennej, to albo global, albo singleton. Jest jeszcze zmienna superglobalna: http://www.php.net/manual/pl/reserved.variables.globals.php do której możesz wrzucić dane, tyle że tak czy inaczej, wciąż te dane są globalne, co to za różnica czy użyjesz global, czy wrzucisz to do jakiejś globalnej zmiennej? Zawsze możesz przekazywać takie dane poprzez parametr, a jeżeli ci to nie odpowiada, to z trzech rozwiązań (global, globals, singleton) z tego wszystkiego najlepszy chyba będzie singleton. Chodź ręki uciąć sobie nie dam (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.10.2025 - 12:00