Null, pra que te quero?

Utilizando objetos mais significativos para representar a ausência de valor.

Qual é o problema do null?

Testes não resolvem o problema?

PHP 7 com tipagem rigorosa

1. Falhar Rapidamente

2. Padrão do “Talvez”

3. Padrão do Objeto Nulo

Exemplo de Aplicação

Alternativamente, poderíamos criar uma interface que as duas classes implementam, ao invés da classe AssinaturaGratuita estender de Assinatura.
Todos os "if ($assinatura)" foram removidos, e agora chamamos $this->assinatura diretamente sem medo.

Formas de Implementar a Classe Nula

Conclusão

Referências

Software development nerd. In 💙 with Ruby, PHP, JavaScript, Crystal, and other techy stuff.

Software development nerd. In 💙 with Ruby, PHP, JavaScript, Crystal, and other techy stuff.