Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Server não encontrando Trait

Vinicius, boa tarde !

Realizei a re-fatoração, meu vscode não aponta nenhum erro contudo o server reclama que não consegue achar a Trait, que está lá.

Consegue me ajudar a "enxergar" a falha cometida ?

Segue codigo :

erro :

Fatal error: Trait 'Alura\Cursos\Helper\FlashMessageTrait' not found in C:\Paulo\Desenvolvimentos\Cursos\alura\buscador-cursos-psr\src\Controller\RealizarLogin.php on line 13

<?php

namespace Alura\Cursos\Controller;

use Alura\Cursos\Entity\Usuario;
use Alura\Cursos\Helper\FlashMessageTrait;
use Doctrine\ORM\EntityManagerInterface;
use Nyholm\Psr7\Response;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Server\RequestHandlerInterface;

class RealizarLogin implements RequestHandlerInterface
{   
    use FlashMessageTrait;
    /**
     * @var \Doctrine\Common\Persistence\ObjectRepository 
     */

    private $repositorioDeUsuarios;

    public function __construct(EntityManagerInterface $entitymanager) {
        $this->repositorioDeUsuarios = $entitymanager->getRepository(Usuario::class);
    }
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $queryString = $request->getQueryParams();
        $email = filter_var($queryString['email'],FILTER_VALIDATE_EMAIL);
        if (is_null($email) || $email === false) {
            $this->defineMensagem('danger','E-mail digitado não é um email válido');
            return new Response(302,['Location:' => '/login']);
        }
        $senha = filter_var($queryString['senha'],FILTER_SANITIZE_STRING);
        /**
         * @var Usuario $usuario
         */
        $usuario = $this->repositorioDeUsuarios->findOneBy(['email' => $email]);

        if (is_null($usuario) || !$usuario->senhaEstaCorreta($senha)) {
            $this->defineMensagem('danger','E-mail ou senha inválidos');
            return new Response(302,['Location:' => '/login']);
        }

        $_SESSION['logado'] = true;
        return new Response(302,['Location:' => '/listar-cursos']);
    }
}
1 resposta
solução!

Vinicius!

Esquece Demorei mas achei o erro. Detesto quando essas coisas acontecem.

Troquei message por messege. aff