PHP7 – Novo Recurso: Tipagem de retorno de função

image_pdfimage_print

Com a proximidade do lançamento do PHP7, mais detalhes sobre os novos recursos já estão sendo compartilhados com a comunidade.

Neste artigo, iremos apresentar o novo recurso de declaração de tipo de retorno de uma função.

Declarar tipos de retorno, tem várias motivações e casos de uso, como?

  • Previnir sub-tipos de quebrarem o tipo esperado de retorno para um super-tipo, como nos casos de interfaces;
  • Proteger contra retornos de tipos inesperados e inválidos;
  • Facilidade de documentação do tipo de retorno através de uma declaração da linguagem, o que não permitiria um desacordo possível em sistemas de documentação baseados em comentário. O retorno seria garantido pela Engine da própria linguagem de programação;

Abaixo, iremos apresentar dois exemplos:

function foo(): array {
    return [];
}
interface A {
    static function make(): A;
}
class B implements A {
    static function make(): A {
        return new B();
    }
}
Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!