Opa. Meu projeto depois das alterações das aulas da seção 3 está quebrando ao usar alguns métodos do VideoRepository:
[Fri Jan 27 12:10:07 2023] 127.0.0.1:40064 [500]: POST /editar-video?id=13 - Uncaught Error: Typed property Alura\Mvc\Entity\Video::$id must not be accessed before initialization in ~/Programming/PHP/aluraplay/src/Repository/VideoRepository.php:77
Nessa chamada em específico: $statement->bindValue(':id', $video->id, PDO::PARAM_INT);
Entity:
<?php
namespace Alura\Mvc\Entity;
class Video
{
public readonly string $url;
public readonly int $id;
private ?string $filePath = null;
public function __construct(
string $url,
public readonly string $title
) {
$this->setUrl($url);
}
private function setUrl(string $url): void
{
if (filter_var($url, FILTER_VALIDATE_URL) === false) {
throw new \InvalidArgumentException;
}
$this->url = $url;
}
public function setId(int $id): void
{
$this->id = $id;
}
public function setFilePath(string $filePath): void
{
$this->filePath = $filePath;
}
public function getFilePath(): ?string
{
return $this->filePath;
}
}
Está do mesmo jeito que os repositórios do curso. Qual seria o erro?