Wie nennt man diesen pfeilähnlichen ->
Operator in PHP?
Es ist entweder ein Minuszeichen, ein Bindestrich oder ein Bindestrich, gefolgt von einem Größer-als-Zeichen (oder einem rechten Chevron).
Wie spricht man es aus, wenn man Code laut vorliest?
Wie nennt man diesen pfeilähnlichen ->
Operator in PHP?
Es ist entweder ein Minuszeichen, ein Bindestrich oder ein Bindestrich, gefolgt von einem Größer-als-Zeichen (oder einem rechten Chevron).
Wie spricht man es aus, wenn man Code laut vorliest?
Antworten:
Der offizielle Name lautet " Objektoperator " - T_OBJECT_OPERATOR . Ich nenne es "Pfeil".
T_DOUBLE_COLON
. Ich werde +1 an Sie, wenn ich noch mehr Stimmen bekomme :)
$a->do()
ist "A's Methode Do" und $a->thing
ist "A's Property Thing", also ist es relativ.
T_PAAMAYIM_NEKUDOTAYIM
bedeutet auf Hebräisch genau "Doppelpunkt".
Ich nenne es " Dart "; wie in $Foo->bar()
: "Foo Dart Bar"
Da viele Sprachen wie in "Punkt" verwenden, Foo.bar();
wollte ich ein einsilbiges Wort verwenden. "Arrow" ist einfach zu langatmig! ;)
Da PHP .
"Punkt" für die Verkettung verwendet (warum?), Kann ich nicht sicher "Punkt" sagen - es könnte verwirren.
Als wir uns vor einiger Zeit mit einem Kollegen unterhielten, entschieden wir uns für "Dart" als ein Wort, das "Punkt" ähnlich genug ist, um bequem zu fließen, aber deutlich genug (zumindest wenn wir es sagen), um nicht mit einem verkettenden "Punkt" verwechselt zu werden. .
Beim Vorlesen von PHP-Code spreche ich den Operator "->" nicht aus. Denn $db->prepare($query);
ich sage meistens "Db [kurze Pause] Abfrage vorbereiten." Ich spreche es also wie ein Komma in einem regulären Satz.
Gleiches gilt für die Paamayim Nekudotayim ("::").
Wenn ich mir den Code vorlese, halte ich ihn für eine "besitzergreifende Sache".
Beispielsweise:
x->value = y->value
würde lesen "x Wert ist gleich y Wert"
Meistens verwende ich eine Variation der Methode von @Tor Valamo ("die B-Methode von A" oder "A's B-Methode"), aber manchmal sage ich "Punkt". ZB "A Punkt B () aufrufen".
->
C / C ++ aufrufen, wo es eine andere Funktionalität als der eigentliche Punktoperator hat.
Immobilienbetreiber.
Beim Lesen $a->b()
oder $a->b
laut sage ich einfach "call b on the $ a obj" oder "get b from / in / of $ a".
Ich persönlich mag es, meinen Code mündlich auszudrücken.
z.B:
$foo = new Foo();
echo $foo->bar
würde als solche lesen:
echo (/ print) die bar-Eigenschaft des Objekts foo.
Es ist ausführlich und zeitaufwändiger, aber wenn es einen Grund gibt, meinen Code mündlich auszudrücken, muss ich wahrscheinlich klar sein, was ich genau kommuniziere.
Der einzelne Pfeil kann leicht verbal als das bezeichnet werden, was er für PHP OOP: Member bedeutet. So für$a->var
Sie würde sagen , „Objekt ein Mitglied auf var“.
Wenn Sie Code vorlesen, ist es hilfreich, vorauszulesen (Lookahead-Referenz, sorry) und zu wissen, worauf Sie sich möglicherweise tatsächlich beziehen. Lassen Sie uns zum Beispiel das folgende Codebit haben:
<?php
Class MyClass {
$foo = 0;
public function bar() {
return $this->foo;
}
}
$myobject = new MyClass();
$myobject->bar();
?>
Wenn ich diesen Codeblock als Demonstration des Codes vorlesen würde, würde ich Folgendes sagen:
"Definieren Sie die Klasse 'MyClass', offene Klammer. Die Variable 'foo' ist gleich Null, Zeile beenden. Öffentliche Funktion 'bar' definieren Klammern öffnen, schließen, Klammer öffnen. Elementvariable 'foo' des Objekts 'this' zurückgeben, Zeile beenden Klammer schließen, Klammer schließen. Neue Instanz von 'MyClass' (keine Argumente) als variables Objekt 'myobject' instanziieren, Zeile beenden. Elementmethode 'bar' des Objekts 'myobject' aufrufen, Zeile beenden. "
Wenn ich jedoch den Code vorlesen würde, damit andere Schüler oder Programmierer ihn ohne Bild kopieren können, würde ich sagen:
"PHP open tag (full), Zeilenumbruch, Einzug, Klasse MyClass offene Klammer, Zeilenumbruch. Einzug, ['Dollarzeichen' | 'Objektmarker'] foo entspricht 0, Semikolon, Zeilenumbruch, Zeilenumbruch. Öffentliche Funktionsleiste open- Klammern schließen, Klammer öffnen, Zeilenumbruch. Einzug, Rückgabe ['Dollarzeichen' | 'Objektmarkierung'] Dieser Pfeil foo, Semikolon, Zeilenumbruch. Einrückung rückwärts, enge Klammer, Zeilenumbruch rückwärts einrücken, Klammer schließen , newline, newline. ['Dollarzeichen' | 'Objektmarker'] myobject entspricht neuen MyClass-Klammern zum Öffnen und Schließen, Semikolon, Zeilenumbruch. ['Dollarzeichen' | 'Objektmarker'] myobject-Pfeilleiste open-close Klammern, Semikolon, Zeilenumbruch. Umgekehrter Einzug, PHP-Close-Tag. "
Wo Sie sehen ['Dollarzeichen' | 'Objektmarker'], wählen Sie einfach, was Sie für '$' sprechen. Ich wechsle häufig zwischen den beiden, hängt nur von meinem Publikum ab.
Zusammenfassend bezieht sich -> in PHP -> auf ein Mitglied eines Objekts, sei es entweder eine Variable, ein anderes Objekt oder eine Methode.
Der leitende PHP-Entwickler, bei dem ich arbeite, sagt "Pfeil".
$A->B;
Wenn er mir sagt, ich soll das Obige eingeben, sagt er "Dollar A Pfeil B" oder für
$A->B();
"Dollar A Pfeil B Parens."
Ich würde es so machen:
//Instantiated object variable with the name mono call property name
$mono->name;
//Instantiated object variable with the name mono call method ship
$mono->ship();
In meinem Buch ( PHP Master von Lorna Mitchell) heißt es Objektoperator .
Japanisch hat dafür ein passendes Teilchen, "nein" (の). Es ist das besitzergreifende Teilchen, was ungefähr "in Bezug auf den vorhergehenden Begriff" bedeutet.
"Fred Dachs" bedeutet "Freds Dachs".
Das ist ein langer Weg zu sagen, dass ich zumindest mental und auch unter denen, die Japanisch verstehen, dazu neige, sie zu unterscheiden, indem ich sie lese als:
$A->B(); // "Call $A's B."
C::D(); // "Call C の D."
Aber beides als besitzergreifendes "'s" zu lesen, funktioniert auch für nicht-japanische Sprecher. Sie können sie auch umdrehen und "of" verwenden, also "D of C" ... aber das ist etwas umständlich, und schwer zu tun, lesen Sie schnell, weil es Ihren linearen Fluss unterbricht.
Wenn ich jedoch diktieren würde, wenn ich ein Paar codiere und vorschlage, was ich eingeben soll, würde ich die spezifischen Zeichen als "Strich größer als Pfeil" und "Doppelpunkt" bezeichnen (wenn ich die Person kenne, mit der ich spreche Um ein PHPophiler zu sein, könnte ich das beim ersten Mal als "paamayim nekudotayim Doppelpunkt" bezeichnen, teils weil es ein cooler Scherz ist, teils um zu verhindern, dass sie mich "korrigieren".
->
ist der Eigenschaftsoperator, der für PHP im objektorientierten Modus verwendet wird.
user187291 hat die nicht subjektive Frage beantwortet, während ich für die subjektive Frage "sub" sage. Zum Beispiel würde ich $x->y
als "x sub y" aussprechen - "sub" ist in diesem Zusammenhang die Abkürzung für "tiefgestellt". Dies ist besser für die Array-Notation geeignet. $x['y']
Ich spreche auch "x sub y" aus. Wenn ich Code laut vorlese, benutze ich normalerweise meine Wörter, um eine Zeile zu identifizieren, die der andere Entwickler sehen kann, sodass die Mehrdeutigkeit noch kein Problem darstellt. Ich glaube, die Ursache ist, dass ich Strukturen / Objekte und Arrays als "Sammlungen" betrachte und Elemente davon wie in der mathematischen Notation tiefgestellt sind.