Die Aufgabe
5) PHP (8 Punkte)
a) Geben Sie die Ausgaben des folgenden Programmausschnittes an.
$a = "z";$$a = "y";echo "=> $z $a ";b) Gegeben sei eine kleine PHP-Klasse und eine zugegebenermaßen wenig sinnvolle Anwendung. Was wird ausgegeben?
class Test { private $v = 1; public function __construct($x = 8) { $this->v = $x; echo "KKK $this \n"; } public function __destruct() { echo "DDD $this \n"; } public function __toString() { return "- $this->v"; }} $my_test = new Test();for ($i = 3; $i > 1; $i--) $my_test = new Test($i);Gesucht ist in beiden Teilen nur die Ausgabe, so wie sie das Programm schreibt. Man spielt das Programm im Kopf Zeile für Zeile durch und notiert jede Ausgabe. Für (a) gibt es 2 Punkte, für (b) 6.
echo schreibt einen Text in die Ausgabe. \n in einem Text ist ein Zeilenumbruch.
__toString zurückgibt.- (a) Zeile für Zeile: welche Variable bekommt welchen Wert.
- (a) Die Ausgabe von echo.
- (b) Was die Klasse Test tut.
- (b) Das Programm durchspielen: jedes new, jede Zuweisung, das Ende des Skripts.