Hallo 1unitedpower,
- Die Variablen (siehe
neu.php
) müssen nicht mehr gelöscht werden, seit sie nicht mehr von PHP automatisch importiert werden (magic_qoutes?), liege ich da richtig?unset($errors); unset($Thread);
Variablen müssen in PHP eigentlich nie gelöscht werden.
Deshalb hat es mich auch gewundert, warum der Autor dieses Scripts das (Am Anfang des Scripts!) so gemacht hat und daher auch die Vermutung, dass das etwas mit register_globals
zu tun hat.
Stattdessen sorgt man besser dafür, dass man unterschiedliche Variablen für unterschiedliche Zwecke benutzt. Um Namenskonflikte zu vermeiden ist es hilfreich den Gültigkeitsbereich seiner Variablen einzuschränken, zum Beispiel über Funktionen. Beim Aufruf einer Funktion wird ein neuer Stackframe erzeugt. Wenn sie abgearbeitet ist wird der Stackframe wieder vom Stack genommen. Objekte in diesem Stackframe bleiben der Umgebung erhalten, wenn sie von außerhalb noch referenziert werden. Die Variablen selbst sind an die Lebensdauer des Stackframes gebunden. Damit verhindert man also viel eleganter, dass unerwünschte Nebenwirkungen auftreten, weil eine Variable unbeabsichtiger Weise von verschiedenen Teilen des Codes geteilt wird.
Das hat der Autor des ursprünglichen Codes auch so gemacht, für meinen Geschmack hat der viele Funktionen verwendet. Hätte ich das von Grund auf geschrieben, wäre das wesentlich undurchsichtiger...
Gruß
Julius