Wie auf dieser Seite: Ссылка
Sie können es versuchen,
%Vor%Jetzt bietet PHP eine Rückgabetypdeklaration von PHP 7. Ich habe erläutert, wie Sie den Rückgabetyp verwenden PHP
Da diese Frage immer noch in den wichtigsten Google-Ergebnissen auftaucht, finden Sie hier eine aktuelle Antwort:
Tatsächlich hat PHP 7 richtige Rückgabetypen für Funktionen / Methoden eingeführt gemäß diesem RFC .
Hier ist das Beispiel aus dem oben verlinkten Handbuch:
%Vor%Oder in einer allgemeineren Notation:
%Vor%Wenn die zurückgegebene Variable oder der zurückgegebene Wert nicht mit dem Rückgabetyp übereinstimmt, konvertiert PHP diesen implizit in diesen Typ. Alternativ können Sie strikte Typisierung für die Datei über% aktivieren. co_de%, in diesem Fall führt ein Typenkonflikt zu einer TypeError-Ausnahme .
Einfach so. Beachten Sie jedoch, dass Sie sicherstellen müssen, dass PHP 7 sowohl auf Ihrem Entwicklungs- als auch auf Ihrem Produktionsserver verfügbar ist.
Es ist nicht möglich, den Rückgabetyp auf Methoden- / Funktionsebene explizit zu definieren. Wie angegeben, können Sie die Rückkehr einwerfen, also zum Beispiel ...
%Vor%Alternativ können Sie einen Kommentar in der phpDoc-Syntax hinzufügen, und viele IDEs nehmen den Typ aus einer Typvervollständigungsperspektive auf.
%Vor%Momentan, in PHP 5 oder niedriger, können Sie im Funktionszeichen type, aber nicht im Rückgabewert definieren. Strenge Deklarationen sind bei PHP ver. 6 und darüber, sind aber noch nicht implementiert.
Vielleicht kannst du das mit ein paar Tricks tun, wie das Casting, bevor du den Wert zurückbringst ...
Eine weitere Möglichkeit, um sicherzustellen, dass Überschreibungen den Rückgabetyp nicht ändern, ist etwa Folgendes:
%Vor%Dadurch können Sie Klassen erlauben, die von Ihrer Klasse erben, die Funktionalität in OnTest zu ändern, aber sicherstellen, dass Test einen Bool-Wert zurückgibt.
Seit der Veröffentlichung von PHP7 haben sie nun Rückgabetyp eingeführt Erklärungen zu PHP.
Sie definieren den Rückgabetyp, indem Sie : type
anhängen, wenn Sie die Funktion definieren:
Standardmäßig verwendet PHP den schwachen Modus. Die Dokumentation erklärt es auf folgende Weise:
Im Standardschwachen Modus werden zurückgegebene Werte zum richtigen Typ gezwungen, wenn sie nicht bereits von diesem Typ sind
Sehen Sie sich beispielsweise das folgende Beispiel an, in dem die Funktion string
zurückgibt, obwohl der definierte Rückgabetyp int
Sie können PHP auch anweisen, bei der Behandlung von Rückgabetypen den strict / strong-Modus zu aktivieren, indem Sie declare(strict_types=1)
setzen. Was das bedeutet ist, dass PHP eine TypeError
wirft, wenn eine Funktion den falschen Typ zurückgibt. Die PHP-Dokumentation erklärt es auf folgende Weise:
%Vor%Im starken Modus muss der zurückgegebene Wert vom richtigen Typ sein, andernfalls wird ein TypeError ausgelöst.
Wenn Sie wissen, dass der Typ des zurückgegebenen Werts bool ist, dann ist es sinnlos, ihn in die Funktion zu übernehmen.
Es gibt keine Möglichkeit, den Rückgabetyp einer Funktion innerhalb von PHP zu definieren, da sie lose typisiert ist. Sie müssen Ihre Validierung innerhalb der aufrufenden Funktion durchführen.
Tags und Links php return return-type