ao tentar realizar o login, recebo o seguinte erro
Fatal error: Uncaught Error: Call to a member function findOneBy() on null in E:\Curso PHP ALU\Gerenciador-de-cursos\src\Controller\RealizarLogin.php:31 Stack trace: #0 E:\Curso PHP ALU\Gerenciador-de-cursos\public\index.php(20): Alura\Cursos\Controller\RealizarLogin->processaRequisicao() #1 {main} thrown in E:\Curso PHP ALU\Gerenciador-de-cursos\src\Controller\RealizarLogin.php on line 31
meu codigo esta assim
<?php
namespace Alura\Cursos\Controller;
use Alura\Cursos\Controller\InterfaceControladorRequisicao;
use Alura\Cursos\Entity\Usuario;
use Alura\Cursos\Infra\EntityManagerCreator;
use Doctrine\ORM\EntityManager;
class RealizarLogin implements InterfaceControladorRequisicao
{
private $repositorioDeUsuarios;
public function __construct()
{
$entityManager = (new EntityManagerCreator())->getEntityManager();
$this->repositorioDeUsusarios = $entityManager->getRepository(Usuario::class);
}
public function processaRequisicao(): void
{
$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
if (is_null($email) ||$email ===false ) {
echo 'Email Invalido';
return;
}
$senha = filter_input(INPUT_POST,
'senha'
);
$usuario = $this->repositorioDeUsuarios->findOneBy(['email' => $email]);
if (is_null($usuario) || !$usuario->senhaEstaCorreta($senha)){
echo "E-mail ou senha invalidos.";
}
header('Location:/listar-cursos');
}
}
no filter input da senha esta sem o sanitizer pois esta listado como deprecated. obrigado