Använda
gammal
kod
i
nyare
versioner
av
PHP
Nu
när
PHP
har
växt
och
blivit
ett
populärt
scriptspråk
har
det
medfört
att
det
finns
många
källor
till
PHP-kod
på
internet
,
från
vilka
du
kan
hämta
kod
som
du
kan
använda
i
dina
egna
script
.
För
det
mesta
har
utvecklarna
av
PHP
försökt
att
göra
språket
bakåt-kompatibelt
så
att
script
skrivna
i
äldre
versioner
av
PHP
även
ska
kunna
köras
utan
förändringar
i
nyare
versioner
,
tyvärr
är
det
inte
alltid
så
idealiskt
utan
några
förändringar
behövs
oftast
.
De
två
viktigaste
av
de
senaste
förändringarna
som
påverkar
äldre
kod
är
:
-
Du
rekommenderas
inte
längre
att
använda
de
äldre
$HTTP_*_VARS
-arrayerna
(
som
behövde
deklareras
som
globala
om
de
användes
i
en
funktion
)
.
Följande
autoglobala
arrayer
introducerades
i
PHP
4.1.0
:
$_GET
,
$_POST
,
$_COOKIE
,
$_SERVER
,
$_ENV
,
$_REQUEST
,
and
$_SESSION
.
De äldre
$HTTP_*_VARS
-arrayerna, t.ex. $HTTP_POST_VARS, existerar fortfarande
såsom de gjort sen PHP 3.
-
Externa
variabeler
registreras
inte
längre
med
automatik
i
det
globala
"
variabelscopet
"
.
Med
andra
ord
,
från
PHP
4.2.0
har
PHP-direktivet
register_globals
satts
till
off
som
standard
i
php.ini
.
Du
bör
istället
använda
de
autoglobaler
som
nämnts
ovan
för
att
komma
åt
datan
.
Äldre
script
,
böcker
och
lektioner
kan
bygga
på
att
register_globals
är
påslaget
.
Om så är fallet kan du, t.ex. med adressen
http://www.example.com/foo.php?id=42
använda
$_GET['id']
istället för
$id
för att komma åt värdet på id.
$_GET['id']
sätts oavsett om
register_globals
är påslaget eller inte.
För flera detaljer gällande dessa förändringar, se kapitlet om
fördefinerade
variabler
och länkarna däri.