PHP 7 wprowadza deklaracje typu zwracanego . Oznacza to, że mogę teraz wskazać, że zwracana wartość jest pewną klasą, interfejsem, tablicą, możliwością wywołania lub jednym z nowo wskazanych typów skalarnych, co jest możliwe w przypadku parametrów funkcji.
function returnHello(): string {
return 'hello';
}
Często zdarza się, że wartość nie zawsze jest obecna i możesz zwrócić coś pewnego typu lub wartość null. Chociaż można ustawić parametry null, ustawiając ich wartość domyślną na null ( DateTime $time = null
), nie wydaje się, aby można to zrobić w przypadku typów zwracanych. Czy tak jest w istocie, czy w jakiś sposób nie znajduję, jak to zrobić? Te nie działają:
function returnHello(): string? {
return 'hello';
}
function returnHello(): string|null {
return 'hello';
}
Trowable
interfejsu PHP7 (a konkretnie rozszerzenie TypeError
)
function returnString(?string $stringNull) : ?string { return $stringNull;}