Nullable Rückgabetypen in PHP7
PHP 7 stellt return type declarations. Das bedeutet, ich kann nun angeben, ist der Rückgabewert eine bestimmte Klasse, interface, array, aufrufbare oder eine der neu hintable Skalare Typen, wie möglich, ist für die Funktion Parameter.
function returnHello(): string {
return 'hello';
}
Oft passiert es, dass ein Wert nicht immer vorhanden ist, und dass Sie zurückkehren könnte, entweder etwas von einem Typ, oder null. Während Sie können die Parameter nullable, indem Sie Ihre Standard-null (DateTime $time = null
), es scheint nicht zu einem Weg, dies zu tun für die Rückgabe-Typen. Ist das tatsächlich der Fall, oder bin ich irgendwie nicht finden, wie es zu tun? Diese funktionieren nicht:
function returnHello(): string? {
return 'hello';
}
function returnHello(): string|null {
return 'hello';
}
InformationsquelleAutor der Frage Jeroen De Dauw | 2015-11-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
PHP 7.1 unterstützt Jetzt nullable-Typen zurück. Der erste RFC-ich verbunden ist, auf den Sie gingen, für:
alte Antwort:
Da mein Kommentar war eigentlich eine Antwort auf die Frage:
PHP 7 wird nicht unterstützt nullable-return-Typen gerade noch, aber es gibt ein RFC - es um genau das, es soll land in PHP 7.1. Wenn es geht, die syntax würde dann auf alle Typ-Hinweise (beide Rückkehr-Typen und Typ-Hinweise):
Gibt es auch eine konkurrierende RFC zum hinzufügen von union-Typen, die in der Lage wäre, das gleiche zu tun, würde aber anders Aussehen:
Für jetzt, obwohl, müssen Sie schreiben:
Oder einfach nur ein leerer string zurück gegeben werden, im Einklang mit der return-Typ, und überprüfen Sie falsy-Wert:
InformationsquelleAutor der Antwort Elias Van Ootegem
Nullable-Typen sind in PHP 7.1.
Dies ist ein Beispiel für die syntax:
PHP 7.1 ist jetzt GA und Sie können ein upgrade von PHP 7.0 (es gibt nur wenige abwärtsinkompatible änderungendie Sie haben zu prüfen)
InformationsquelleAutor der Antwort the_nuts