PHP 7 führt Rückgabetypdeklarationen ein . Das heißt, ich kann jetzt angeben, dass der Rückgabewert eine bestimmte Klasse, Schnittstelle, ein bestimmtes Array, ein aufrufbarer oder einer der neu anzeigbaren Skalartypen ist, wie dies für Funktionsparameter möglich ist.
function returnHello(): string {
return 'hello';
}
Oft kommt es vor, dass ein Wert nicht immer vorhanden ist und Sie entweder einen Typ oder null zurückgeben. Während Sie Parameter auf Null setzen können, indem Sie ihren Standardwert auf null ( DateTime $time = null
) setzen, scheint es für Rückgabetypen keine Möglichkeit zu geben, dies zu tun. Ist das tatsächlich der Fall oder finde ich irgendwie nicht heraus, wie es geht? Diese funktionieren nicht:
function returnHello(): string? {
return 'hello';
}
function returnHello(): string|null {
return 'hello';
}
Trowable
Schnittstelle zu verwenden (insbesondere die zu erweitern TypeError
)
function returnString(?string $stringNull) : ?string { return $stringNull;}