Hallo,
ich habe am Freitag eine „kleine“ PHP-Seite hochgeladen und musste mit Erschrecken feststellen, dass diese dort nicht funktioniert. Fehlermeldung:
Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /usr/export/www[…]Die_Seite.php on line 279
Eine genaue Analyse des Problems ergab, dass es an Konstrukten wie…
$ul->addElement("li")->addText("List item 1");
…lag. Komischer Weise trat dieses Problem auf meinem WAMP-System (auf welchem ich immer getestet habe) nicht auf. Es gab aber ein ähnliches Problem: Wenn eine Funktion ein Array zurückliefert, kann man dieses nicht direkt verwenden.
So bekomme ich bei folgendem Konstrukt
function makeArray(){
return array("a","b","c");
}
echo makeArray()[1];
auch auf meinem WAMP-System eine Fehlermeldung:
Parse error: syntax error, unexpected '[', expecting ',' or ';' in X:[…].php on line 6
Wenn man das Ergebnis dagegen erstmal in einer Variablen speichert:
function makeArray(){
return array("a","b","c");
}
$x = makeArray();
echo $x[1];
…tritt dieses Problem nicht auf. Gleiches gilt für das, was ich oben geschildert habe.
Kann mir jemand dieses Phänomen erklären? Muss ich jetzt jedes erzeugte Objekt erst in eine Variable speichern oder gibt es einfachere Alternativen?
mfg. Daniel