6.2. Umwandlung von Variablen
# Eine Variable besteht aus ASCII-Buchstaben, Zahlen und dem Unterstrich. Der Name muss mit einem Buchstaben oder einem Unterstrich beginnen. Meist beginnt die Variable mit einem $-Zeichen. Groß- und Kleinschreibung werden unterschieden.
# Beispiele:
# var $var1;
# $var2 = 3;
# $var3->var4 = "foo";
# $var5->var6->var7--;
# echo "foo $var8 bar";
+ Erkennung und Austausch von var1 in '$var1'
+ Erkennung und Austausch von var1 und var2 in '$var1->var2'
+ Erkennung und Austausch von var1, var2 und var3 in $var1->var2->var3 usw.
+ Erkennung und Austausch von var1 im String "foo $var1 bar"
+ kein Austausch von var1 im String 'foo $var1 bar'
- Unterscheidung von Elementen eines Objekts, die keine Variablen sind, z.B. Zugriffe auf Datenbankfelder über ein Objekt, diese dürfen nicht ersetzt werden
= einzelne Felder werden nicht erkannt, d.h. wenn eine solche Variable im Projekt existiert
-> 1. Klassen-Variablen erfassen und nur austauschen, wenn diese mit var definiert wurden, hilft zwar, ist aber keine Lösung
-> 2. Variablen ausschließen
-> 3. konfigurierbare Sonderfälle: Parser erhält Dateinamen und Zeilennummer, sowie eine Datei mit Sonderfällen,
d.h. Elementen in einer bestimmten Zeile, die nicht ausgetauscht werden sollen
-> 4. Parser muss zugehörige Klasse bei Objektpointern erkennen und im Gültigkeitsbereich speichern (=richtiger Parser)
+ Unterscheidung von Methoden, die über Pointer aufgerufen werden, z.B. '$var1->method1()' oder '$var2->method2'
+ Die Variable '$this' darf nicht ersetzt werden.
+ kein Austausch von Superglobalen Arrays ($GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIE, $_FILES, $_ENV, $_REQUEST, $_SESSION)
+ einzelne Variablen konfigurierbar aus Umwandlung ausschließen
* Umwandlung von Variablen an- und abschaltbar
* Erkennung des Starts und des Endes eines Klasse
* Erfassung der in einer Klasse mit var definierten Variablen
* Test vor Austausch von var1 in $obj1->var1 ob var1 in einer Klasse definiert wurde
|