Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Não utilização do constructor promotion no código.

Olá, na aula de extraindo um repositório, fiquei na dúvida com a seguinte parte: O professor disse a seguinte frase: "Nós não utilizaremos mais o constructor promotion no código. Simplesmente, receberemos o parâmetro e definiremos a URL". Dessa forma, o código era assim:

<?php

declare(strict_types=1);

namespace Alura\Mvc\Entity;

class Video
{
     public function __construct(
        public readonly string $url,
        public readonly string $title,

e depois ficou assim:

<?php

declare(strict_types=1);

namespace Alura\Mvc\Entity;

class Video
{
     public readonly string $url;
         public function __construct(
        string $url,
        public readonly string $title,

Por que isso aconteceu? eu não entendi o porquê da propriedade do url ter ficado fora do construct e não entendi o que é um constructor promotion. Alguém poderia me ajudar? obrigado.

1 resposta
solução!

Promoção de propriedade no construtor é uma funcionalidade do PHP que, um parâmetro do construtor declarado com visibilidade (como public) é "promovida" a propriedade do objeto ao invés de ser um simples parâmetro. Aqui tem a explicação:

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

Entendeu? :-D