1
resposta

Declaração dos atributos private

Olá

No video não está a declarar atributos para as variáveis de historico e filaDownloads:

    public function __construct()
    {
        $this->musicas = new SplDoublyLinkedList();
        $this->musicas->rewind();
        $this->historico = new SplStack();
        $this->filaDownloads = new SplQueue();
    }

Quando passo o rato por cima de $this->historico ou de $this->filaDownloads aparece a mensagem: property declared dinamically

O que signifca isso? Dessa forma os atributos são public ou private?

Obrigado

1 resposta

Olá, André.

Quando você atribui valores a alguma propriedade que não foi declarada, o PHP declara automaticamente como public. Isso é uma péssima prática pois torna as coisas menos "transparentes", ou menos explícitas. Então a recomendação é sempre declarar as propriedades que serão usadas.

:-)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software