Alten Code mit neuen PHP-Versionen benutzen
Dadurch dass PHP eine immer beliebtere Skriptsprache ist, gibt es immer
mehr Quellen, die Ihnen Code-Listings zur Verfügung zu stellen.
Die PHP-Entwickler haben versucht, den größten Teil der Sprache
abwärtskompatibel zu halten. Das bedeutet, dass ein Skript, das für
eine ältere PHP-Version geschrieben wurde, (im Idealfall) ohne
Änderungen auch unter einer neueren PHP-Version läuft. In der Praxis
sind aber meist einige Änderungen nötig.
Zwei der wichtigsten aktuellen Änderungen, die alten Code betreffen, sind:
Die Missbilligung der alten $HTTP_*_VARS-Arrays
(die global gemacht werden mussten, wenn man sie innerhalb einer Funktion
nutzen wollte). In PHP 4.1.0
wurden die folgenden autoglobalen
Arrays eingeführt: $_GET, $_POST,
$_COOKIE, $_SERVER,
$_ENV, $_REQUEST und
$_SESSION. Die älteren $HTTP_*_VARS-Arrays,
wie $HTTP_POST_VARS, existierten bereits seit PHP 3 und sind
auch immer noch verfügbar.
Externe Variablen werden standardmäßig nicht mehr im globalen Namensraum
registriert. Mit anderen Worten, seit PHP
4.2.0 ist off
die Standard-Einstellung für die PHP-Direktive
register_globals.
Die empfohlene Methode, auf diese Werte zuzugreifen, ist, die oben genannten
autoglobalen Arrays zu verwenden. Ältere Skripte, Bücher und Tutorials gehen
eventuell davon aus, dass diese Einstellung auf on steht.
Wäre die Einstellung on, wäre die Variable $id aus der
URL http://www.example.com/foo.php?id=42 verfügbar.
Unabhängig davon, ob on oder off, ist immer $_GET['id']
verfügbar.
Für weitere Details über diese Änderungen siehe die Seite über
vordefinierte Variablen
und die Links dort.
|