Wenn Sie gerade erst als PHP-Entwickler anfangen oder einfach nur PHP-Code korrigieren wollen, werden Sie irgendwann auf das Symbol -> stoßen.
Es gibt auch eine Reihe anderer Symbole, die ähnlich aussehen, wie zum Beispiel =>.
Wir werfen einen Blick auf diese Pfeilsymbole im PHP-Code, die eine wichtige Rolle spielen, und finden heraus, was der ->-Operator bedeutet.
Advertising links are marked with *. We receive a small commission on sales, nothing changes for you.
Was bedeutet -> in PHP?
-das -> in einem PHP-Skript wird von Entwicklern als Objektoperator bezeichnet. Er ist auch als Einzelpfeiloperator bekannt.
In PHP-Code sind Operatoren Symbole, die dem Interpreter oder Compiler sagen, dass er eine Operation durchführen soll, zum Beispiel einen Vergleich zwischen zwei Werten oder eine arithmetische Berechnung.
Das Pfeilsymbol -> ist ein Zugriffsoperator, der typischerweise für alle Zugriffs- und Aufrufmethoden und alle Eigenschaften in PHP-Objekten verwendet wird.
Zusammen mit dem =>-Symbol wird das -> auch als Pfeilfunktion bezeichnet.
Was sind anonyme Funktionen?
Wann immer ein PHP-Entwickler eine Funktion in seinem PHP-Code definiert, weist er ihr normalerweise auch einen Namen zu.
Dieser Name ist wichtig, denn er wird verwendet, um die Funktion aufzurufen, wenn sie später im Code benötigt wird.
Wenn der Entwickler die Funktion jedoch nur an einer Stelle des Codes benötigt, ist es einfacher, diese spezielle Funktion zu verwenden, ohne ihr einen Namen zu geben.
Diese namenlosen Funktionen werden als anonyme Funktionen bezeichnet. Sie werden normalerweise nur verwendet, wenn die Funktion relativ kurz ist.
Was sind Pfeilfunktionen?
Nachdem wir nun wissen, was anonyme Funktionen sind, ist es einfacher, Pfeilfunktionen zu verstehen. Pfeilfunktionen sind im Grunde nur kürzere und einfachere anonyme Funktionen.
Pfeilfunktionen wurden mit PHP 7.4 eingeführt.
Wenn Sie Pfeilfunktionen schreiben, ersetzen Sie das Schlüsselwort function durch fn und lassen das Schlüsselwort return komplett weg.
Diese Funktion enthält nur einen einfachen Ausdruck, und zwar die Pfeilfunktion ->.
Ein weiterer Vorteil von Pfeilfunktionen ist, dass alle Variablen, die im übergeordneten Bereich definiert sind, auch ohne Schlüsselwort verfügbar sind.
Vorteile einer Pfeilfunktion
Da Pfeilfunktionen eine kurze Art sind, eine anonyme Funktion zu schreiben, bieten sie einige große Vorteile für den Entwickler.
Eine Pfeilfunktion beginnt einfach mit einem fn-Schlüsselwort und enthält dann nur den einen Ausdruck des Wertes innerhalb der Funktion.
Pfeilfunktionen sind eine sehr einfache Möglichkeit, Zeit zu sparen, da sie viel kürzer sind als eine anonyme Standardfunktion.
Funktionen mit -> und => ermöglichen den automatischen Zugriff auf alle Variablen in ihrem übergeordneten Bereich.
Einschränkungen von Pfeilfunktionen
Trotz ihrer Vorteile haben Pfeilfunktionen auch eine Reihe von Einschränkungen.
Sie können eine Pfeilfunktion nicht als Methode oder Konstruktor verwenden. Darüber hinaus können Pfeilfunktionen auch keine Yields im Body verwenden.
Pfeilfunktionen haben keine eigenen Bindungen mit ’super‘ oder ‚this‘. Das macht es unmöglich, sie für Bindungsmethoden und Callback-Funktionen zu verwenden.
Was ist => in PHP?
=> ist ebenfalls eine Pfeilfunktion und wird üblicherweise als Doppelpfeiloperator bezeichnet.
Im Gegensatz zu -> ist das Pfeilsymbol => ein Zuweisungsoperator, der verwendet wird, wenn ein Entwickler assoziative Arrays erstellen möchte.
Sie finden => Operatoren zwischen dem Array-Schlüssel und seinem zugehörigen Wert.
Vereinfacht ausgedrückt, steht der Schlüssel links in Anführungszeichen, dann setzen Sie das => und weisen den Wert rechts daneben zu.
Sie können dem Schlüssel einen beliebigen Namen geben, aber es ist wichtig, dass der Schlüssel in einfache oder doppelte Anführungszeichen gesetzt wird.
Der Wert an sich kann, muss aber nicht in Anführungszeichen gesetzt werden. Dies hängt von der Art der Daten ab, die Sie verwenden.
Ein Entwickler schließt zum Beispiel einen String-Wert immer ein, aber bei einem booleschen oder ganzzahligen Wert müssen Sie das nicht tun.
Sie können den Wert entweder direkt als Teil der Funktion verwenden oder ihn innerhalb einer Konstanten oder Variablen verwenden und dann den gesamten Wert dem Schlüssel zuweisen.
Wie sehen Pfeilfunktionen aus?
Pfeilfunktionen verwenden normalerweise die Syntax fn (Argumente) -> Ausdruck.
Alle Pfeilfunktionen müssen mit dem Schlüsselwort fn beginnen und dürfen nur einen Ausdruck enthalten.
Da Pfeilfunktionen einfache anonyme Funktionen sind, sollten sie immer nur für einfache Operationen verwendet werden.
Wann sollten Sie Pfeilfunktionen verwenden?
Dank ihrer vereinfachten Syntax sind Pfeilfunktionen eine schnelle und einfache Möglichkeit, Code zu schreiben.
Sie können die vereinfachte Syntax von Pfeilfunktionen mit Arrays verwenden, z. B. map(), filter() und reduce().
Dadurch sind diese Arrays viel schneller zu lesen und in einem großen Programmierprojekt leichter zu verstehen.
Sie können Pfeilfunktionen auch für Rückrufe verwenden.
Wann sollten Sie Pfeilfunktionen nicht verwenden?
Es gibt eine Reihe von Situationen, in denen Sie Pfeilfunktionen nicht verwenden sollten.
Da Pfeilfunktionen keine eigenen Wert- und Argumentobjekte haben, sollten sie nicht als Event-Handler verwendet werden.
Wenn eine Pfeilfunktion als Ereignisbehandlungsroutine verwendet wird, gibt sie einen undefinierten Wert zurück. Das liegt daran, dass sie keinen eigenen Wert hat.
Die beste Art und Weise, einen Event-Handler zu programmieren, ist die Verwendung einer regulären Funktion.
Sie sollten auch vermeiden, Pfeilfunktionen für Objektmethoden, Prototypmethoden und in allen Funktionen zu verwenden, die ein Argumentobjekt verwenden.
Eine Pfeilfunktion enthält keine Argumente, daher müssen Sie dafür eine Standardfunktion verwenden.
Schlussfolgerung
Obwohl Pfeilfunktionen wie -> und => eine schnelle und einfache Möglichkeit sind, anonyme Funktionen zu schreiben, gibt es auch Situationen, in denen Sie -> oder => nicht verwenden sollten.
Darüber hinaus haben diese beiden Funktionen auch unterschiedliche Verwendungszwecke. Der Objektoperator, auch Einfachpfeiloperator genannt, -> wird in der Regel für den Zugriff auf Eigenschaften eines Klassenobjekts und auf Methoden verwendet.
Entwickler verwenden ihn auch häufig für den Zugriff auf JSON-Objektelemente.
Im Vergleich dazu ist der Doppelpfeiloperator => ein reiner Zuweisungsoperator, der in assoziativen Arrays verwendet wird.
Er hilft dabei, den Schlüsseln bei der Erstellung eines Arrays verschiedene Werte zuzuweisen. => wird üblicherweise zwischen dem Wert und dem Schlüssel platziert.
Advertising links are marked with *. We receive a small commission on sales, nothing changes for you.