Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Diferença das propriedades dentro ou fora do construtor

Boa noite, nas aulas ou até mesmo em cursos anteriores sempre declaravamos as propriedades fora e dentro do construtor da classe, porque nesse módulo foi feito declarando as mesmas apenas dentro do construtor??

Antes:

class VideoRepository
{
  private PDO $pdo;

  public function __construct(PDO $pdo) {}

Agora:

public function __construct(private PDO $pdo) {}
2 respostas
solução!

Oii, Frank!

Isso se deve a uma funcionalidade introduzida no PHP 8.0 chamada Constructor Property Promotion. Que permite que você declare e inicialize propriedades de uma classe diretamente no construtor.

A ideia dessa funcionalidade é reduzir a quantidade de código repetido, e funciona da mesma forma como o exemplo que você citou acima. Dá uma olhada nesse vídeo:

https://www.youtube.com/watch?v=XJCSQ2nWRrQ

Bons estudos :)

Aaah entendi Vinicius, muito obrigado por tirar minha dúvida, abraço!!