Dadurch dass PHP eine immer beliebtere Skriptsprache ist, gibt es immer mehr öffentliche Quellen und Bibliotheken mit Code, den Sie wieder verwenden können. 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 superglobalen
Arrays eingeführt: $_GET
, $_POST
,
$_COOKIE
, $_SERVER
,
$_FILES
, $_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.
Seit PHP 5.0.0 können Sie die
Registrierung der langen von PHP
vordefinierten Arrays mit der Konfigurationsoption
register_long_arrays
abschalten.
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
superglobalen Arrays zu verwenden. Ältere Skripte, Bücher und Tutorials gehen
eventuell davon aus, dass diese Einstellung auf on steht.
Wäre die Einstellung z.B. on, dann wäre die Variable $id
aus
dem URL http://www.example.com/foo.php?id=42 verfügbar.
Unabhängig davon, ob on oder off, ist immer $_GET['id']
verfügbar.
Zurück | Zum Anfang | Weiter |
Formulare verarbeiten | Nach oben | Und weiter? |