Zmienne
predefiniowane
PHP
udostępnia
dla
każdego
pracującego
skryptu
dużą
ilość
predefiniowanych
zmiennych
.
Jednakże
wiele
spośród
tych
zmiennych
nie
może
być
w
pełni
objaśnionych
,
gdyż
są
zależne
od
rodzaju
serwera
,
jego
wersji
i
ustawień
i
innych
czynników
.
Niektóre
z
tych
zmiennych
nie
będą
dostępne
dla
skryptów
PHP
uruchomionych
z
linii
poleceń
.
Lista
tych
zmiennych
znajduje
się
w
rozdziale
predefiniowane
zmienne
.
Ostrzeżenie
|
W
PHP
4.2.0
i
późniejszych
,
domyślne
ustawienie
,
które
udostępniało
predefiniowane
zmienne
w
zasięgu
globalnym
,
zostało
zmienione
.
Zmienne
nadchodzące
metodą
GET
i
POST
oraz
zmienne
serwera
domyślnie
Zmienne
nadchodzące
metodą
GET
i
POST
oraz
zmienne
serwera
domyślnie
nie
są
już
umieszczane
w
zasięgu
globalnym
.
Zamiast
tego
umieszczane
są
w
odpowiednich
tablicach
superglobalnych
.
Nadal
można
uruchomić
udostępnianie
tych
zmiennych
w
zasięgu
globalnym
przez
ustawienie
dyrektywy
konfiguracyjnej
register_globals
na
"
On
"
w
pliku
php.ini
.
Więcej
informacji
odnośnie
tej
zmiany
,
wraz
z
wyjaśnieniem
przyczyn
,
w
PHP
4.1.0
Release
Announcement
.
|
Począwszy
od
wersji
4.1.0
,
PHP
udostępnia
zestaw
predefiniowanych
tablic
,
które
zawierają
zmienne
serwera
,
zmienne
środowiskowe
oraz
zmienne
użytkownika
.
Tablice
te
są
dość
specyficzne
,
gdyż
są
one
automatycznie
globalne
,
tzn
.
automatycznie
dostępne
w
każdym
zasięgu
.
Dlatego
nazywa
się
je
"
autoglobalami
"
albo
"superglobalami"
.
(W
PHP
nie
ma
mechanizmu
pozwalającego
użytkownikowi
na
definiowanie
własnych
superglobali
.
)
Superglobale
PHP
wymienione
są
poniżej
,
jednakże
wykaz
ich
zawartości
i
głębsze
omówienie
prefiniowanych
zmiennych
PHP
oraz
ich
natury
znajduje
się
w
rozdziale
predefiniowane
zmienne
.
Superglobale
PHP
-
$GLOBALS
-
Zawiera
referencje
do
każdej
ze
zmiennych
aktualnie
dostępnych
w
zasięgu
globalnym
skryptu
.
Kluczami
tablicy
są
nazwy
zmiennych
globalnych
.
-
$_SERVER
-
Zmienne
tworzone
przez
serwer
lub
bezpośrednio
powiązane
ze
środowiskiem
uruchomieniowym
danego
skryptu
.
Analogiczna
do
dawnej
tablicy
$HTTP_SERVER_VARS
(
która
jest
nadal
dostępna
,
ale
uznana
za
przestarzałą
)
.
-
$_GET
-
Zmienne
dostarczone
do
skryptu
za
pomocą
metodą
GET
protokołu
HTTP
.
Analogiczna
do
dawnej
tablicy
$HTTP_GET_VARS
(
która
jest
nadal
dostępna
,
ale
uznana
za
przestarzałą
)
.
-
$_POST
-
Zmienne
dostarczone
do
skryptu
metodą
POST
protokołu
HTTP
.
Analogiczna
do
dawnej
tablicy
$HTTP_POST_VARS
(
która
jest
nadal
dostępna
,
ale
uznana
za
przestarzałą
)
.
-
$_COOKIE
-
Zmienne
dostarczone
do
skryptu
przez
ciasteczka
HTTP
.
Analogiczna
do
dawnej
tablicy
$HTTP_COOKIE_VARS
(
która
jest
nadal
dostępna
,
ale
uznana
za
przestarzałą
)
.
-
$_FILES
-
Zmienne
dostarczone
do
skryptu
przez
przesłanie
plików
do
serwera
metodą
POST
protokołu
HTTP
.
Analogiczna
do
dawnej
tablicy
$HTTP_POST_FILES
(
która
jest
nadal
dostępna
,
ale
uznana
za
przestarzałą
)
.
Więcej
na
ten
temat
w
rozdziale
przesyłanie
plików
metodą
POST
.
-
$_ENV
-
Zmienne
dostarczone
do
skryptu
przez
środowisko
operacyjne
.
Analogiczna
do
dawnej
tablicy
$HTTP_ENV_VARS
(
która
jest
nadal
dostępna
,
ale
uznana
za
przestarzałą
)
.
-
$_REQUEST
-
Zmienne
użytkownika
dostarczone
do
skryptu
przez
każdy
mechanizm
wejścia
,
przez
co
NIE
są
one
godne
zaufania
.
Uwaga
:
kiedy
skrypt
jest
uruchomiony
z
linii
poleceń
,
tablica
ta
nie
zawiera
zmiennych
argv
i
argc
.
Zmienne
te
są
dostępne
w
tablicy
$_SERVER
.
Obecność
i
kolejność
dołączania
zmiennych
do
tej
tablicy
zależy
od
dyrektywy
konfiguracyjnej
variables_order
.
Tablica
ta
nie
posiada
swoich
odpowiedników
we
wcześniejszych
wersjach
PHP
.
-
$_SESSION
-
Zmienne
aktualnie
zarejestrowane
jako
sesyjne
.
Analogiczne
do
dawnej
tablicy
$HTTP_SESSION_VARS
(
która
jest
wciąż
dostępna
,
ale
uznana
za
przestarzałą
)
.
Więcej
informacji
w
rozdziale
funkcje
obsługi
sesji
.