Wie Sie vielleicht im Titel gesehen haben, ist mein Programmierhintergrund Java. In Java kannst du so etwas machen
%Vor%ohne das erzeugte Objekt einer Variablen zuzuordnen, sehr nützliche und klare Codierung, wenn Sie dieses Objekt nur einmal benötigen.
Jetzt versuche ich in PHP dasselbe zu tun
%Vor%aber hier bekomme ich einen 'Parse error: syntax error, unexpected' - & gt; ' (T_OBJECT_OPERATOR) '.
Gibt es eine Möglichkeit, dies in PHP zu tun?
funktioniert in PHP 5.4 +
BEARBEITEN
Es ist ein neues Feature , das zu PHP 5.4 hinzugefügt wurde:
Klassenmitgliedzugriff auf Instanziierung wurde hinzugefügt, z. %Code%.
EDIT2
Der PHP-Feature-RFC schlägt zwei Sätze von Syntax vor (mit & amp; ohne Klammern), beide von Sie sind im RFC implementiert, aber nur einer wurde ausgeliefert. Ich konnte keine Links finden, die die Entscheidung erklären.
Sehen wir uns die Beispiele für Klammerlose Syntax im RFC an:
(new Foo)->bar()
sollte als new foo->bar()
gelesen werden
(new foo)->bar()
sollte als new $foo()->bar
gelesen werden
(new $foo())->bar
sollte als new $bar->y()->x
gelesen werden
Ich denke, dass die Klammer-lose Syntax nicht geliefert wird, weil ihre vorgeschlagene Parsing-Präzedenz nicht sehr intuitiv ist (von den Augen schwer zu folgen), wie im 3. Beispiel gezeigt.
Tags und Links class php constructor function call