Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
10
respostas

Erro com a classe Video

Estou com problema na clase Video. O this esta indicando erro mas nao consigo identifica a solução.

<?php

declare(strict_types=1);

namespace Alura\Mvc\Entity;

class Video
{
    public readonly int $id;
    public readonly string $url;
    public function __construct(
        string $url,
        public readonly string $title,
    ) {
        $this->setUrl($url);
    }

    private function setUrl(string $url)
    {
        if (filter_var($url, FILTER_VALIDATE_URL) == false) {
            throw new \InvalidArgumentException();
        }

        $this->url = $url;//problema
    }

    public function setId(int $id): void
    {

        $this->id = $id; //problema
    }
}
10 respostas

Em qual linha está ocorrendo o erro? Qual a mensagem de erro?

Bom dia. Nas linhas do $this->id e $this->url

Removi o readonly da classe e sumiu o erro. Mas nao entendi o motivo do erro.

Obrigado

Andressa, qual o erro? Qual sua versão do PHP?

Oi, a minha versao é 8.2. a ide diz que as propriedades $id e $url nao podem ser alteradas. Entao removi o readonly para funcionar. Mas nao entendi o erro porque estava igual ao video.

Obrigado

.... agora abri o projeto e a aplicação esta com muitos erros, no entendi nada Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Andressa, o print que você mostra é um erro do VS Code, não do PHP. Ele não está reconhecendo sua versão do PHP. Nele, mostra que a versão é a 7.4 (você pode ver isso no canto inferior direito do seu print).

Pelo cmd o meu php é o 8.2. como isso é possivel? Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Veja em File, Preferences, Settings qual é a versão do PHP que está definida para o VS-CODE.

Encontrei essa configuração: É essa que preciso alterar? Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Andressa, eu não uso VS Code, então não sei te dizer qual a configuração necessária.

Mas ao executar o código você recebe algum erro?

solução!

Vinicius, coloquei o endereço do executável do php no C:\ e resolveu o problema. Muito Obrigado. Agora esta tudo certo, sem erros.