Boa noite
Realizei a refatoração do código da classe 'RealizarLogin' e quando fui deu erro. Alguém poderia me ajudar?
Mensagem que apareceu no terminal:
[Sat Feb 8 21:10:21 2020] [::1]:52546 [500]: /realizar-login - syntax error, unexpected 'ObjectRepository' (T_STRING), expecting function (T_FUNCTION) or const (T_CONST) in F:\a
rquivos\cursos\alura\mvc\projeto\src\Controller\RealizarLogin.php on line 17
Código fonte da classe 'RealizarLogin':
<?php
namespace Alura\Cursos\Controller;
use Alura\Cursos\Entity\Usuario;
use Alura\Cursos\Helper\FlashMessageTrait;
use Doctrine\ORM\EntityManagerInterface;
use Doctrine\Persistence\ObjectRepository;
use Nyholm\Psr7\Response;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class RealizarLogin implements RequestHandlerInterface
{
private ObjectRepository $repositorioDeUsuarios;
/**
* @var EntityManagerInterface
*/
private EntityManagerInterface $entityManager;
use FlashMessageTrait;
public function __construct(EntityManagerInterface $entityManager)
{
$this->entityManager = $entityManager;
$this->repositorioDeUsuarios = $this->entityManager->getRepository(Usuario::class);
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$email = filter_var($request->getParsedBody()['email'], FILTER_VALIDATE_EMAIL);
if (is_null($email) || $email === false) {
$this->definirMensagem("danger", "E-mail digitado não é um e-mail válido");
return new Response(300, ['Location' => '/login']);
}
$senha = $request->getParsedBody()['senha'];
/** @var Usuario $usuario */
$usuario = $this->repositorioDeUsuarios->findOneBy(['email' => $email]);
if (is_null($usuario) || !$usuario->senhaEstaCorreta($senha)) {
$this->definirMensagem("danger", "E-mail ou senha inválidos");
return new Response(300, ['Location' => '/login']);
}
$_SESSION['logado'] = true;
return new Response(300, [
'Location' => '/listar-cursos',
]);
}
}