dedlfix: OOP-Probleme

Beitrag lesen

echo $begrüßung;

Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /usr/export/www[…]Die_Seite.php on line 279
$ul->addElement("li")->addText("List item 1");

Diese Syntax funktioniert ab PHP5. Unter PHP4 gibt es diese Meldung, weil da das Funktionsergebnis nicht direkt weiterverkettet werden kann. Du brauchst da jeweils eine Variable zur Zwischenspeicherung.

Wenn eine Funktion ein Array zurückliefert, kann man dieses nicht direkt verwenden.
echo makeArray()[1];

Dieses Konstrukt geht auch unter PHP5 nicht.

Kann mir jemand dieses Phänomen erklären? Muss ich jetzt jedes erzeugte Objekt erst in eine Variable speichern oder gibt es einfachere Alternativen?

Diese Syntax ist einfach nicht vorgesehen. Eine Zwischenspeichervariable ist die einzige mir bekannte Möglichkeit.

echo "$verabschiedung $name";