Olá, Filipe! Como vai?
Você está enfrentando um problema ao tentar retornar um objeto em vez de um array na sua variável $filme e ele acusa Attempt to read property "nome" como NULL o que significa um problema de leitura. Com base nisso, listei alguns pontos que podem ajudar a resolver essa questão.
Verifique a Classe Filme: certifique-se de que a classe Filme está corretamente definida no arquivo Filme.php, com todas as propriedades declaradas como públicas. Algo assim:
<?php
class Filme {
public string $nome;
public int $anoLancamento;
public string $genero;
public float $nota;
}
Função criaFilme(): na função criaFilme(), assegure-se de que você está criando e retornando um objeto da classe Filme. Veja um exemplo:
function criaFilme(string $nome, int $anoLancamento, float $nota, string $genero): Filme
{
$filme = new Filme();
$filme->nome = $nome;
$filme->anoLancamento = $anoLancamento;
$filme->genero = $genero;
$filme->nota = $nota;
return $filme;
}
Uso do Operador de Seta: no seu arquivo index.php, ao acessar as propriedades do objeto $filme, use o operador -> em vez de colchetes. Por exemplo:
echo $filme->nome;
Caso não resolva o seu problema, peço que compartilhe todo o seu projeto para que eu possa realizar testes para identificar a causa do problema.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.