O PHP 7 introduz declarações de tipo de retorno . O que significa que agora posso indicar que o valor de retorno é uma determinada classe, interface, matriz, que pode ser chamada ou um dos tipos escalares recém-sugeridos, como é possível para os parâmetros de função.
function returnHello(): string {
return 'hello';
}
Muitas vezes, acontece que um valor nem sempre está presente e você pode retornar algo de algum tipo ou nulo. Embora você possa tornar os parâmetros anuláveis configurando seu padrão como null ( DateTime $time = null
), não parece haver uma maneira de fazer isso para os tipos de retorno. É esse mesmo o caso, ou não estou descobrindo como fazê-lo? Estes não funcionam:
function returnHello(): string? {
return 'hello';
}
function returnHello(): string|null {
return 'hello';
}
Trowable
de interface (especificamente, estendendo-se o TypeError
)
function returnString(?string $stringNull) : ?string { return $stringNull;}