Não estoi conseguindo utilizar o método $this->difineMensagem('$tipo','$mensagem'). apresenta o erro : Fatal error: Trait 'Alura\Cursos\Helper\FlashMessageTrait' not found in C:\laragon\www\gerenciador-de-cursos\src\Controller\Persistencia.php on line 11.
<?
namespace Alura\Cursos\Helper;
trait FlashMessageTrait
{
public function defineMensagem(string $tipo, string $mensagem): void
{
$_SESSION['mensagem'] = $mensagem;
$_SESSION['tipo_mensagem'] = $tipo;
}
}
?>
<?php
namespace Alura\Cursos\Controller;
use Alura\Cursos\Entity\Curso; use Alura\Cursos\Helper\FlashMessageTrait; use Alura\Cursos\Infra\EntityManagerCreator;
class Persistencia implements InterfaceControladorRequisicao { use FlashMessageTrait; /**
* @var \Doctrine\ORM\EntityManagerInterface
*/
private $entityManager;
public function __construct()
{
$this->entityManager = (new EntityManagerCreator())
->getEntityManager();
}
public function processaRequisicao(): void
{
$descricao = filter_input(
INPUT_POST,
'descricao',
FILTER_SANITIZE_STRING);
//echo $descricao;
//exit();
$quantidade = filter_input(
INPUT_POST,
'descricao',
FILTER_SANITIZE_STRING);
/* echo $descricao;
exit();*/
$curso = new Curso();
$curso->setDescricao($descricao);
$id = filter_input(
INPUT_GET,
'id',
FILTER_VALIDATE_INT);
if (!is_null($id) && $id !== false) {
$curso->setId($id);
$this->entityManager->merge($curso);
$_SESSION['tipo_mensagem'] = 'success';
$_SESSION['mensagem'] = 'O CURSO FOI Atualizado COM SUCESSO';
}else{
$this->entityManager->persist($curso);
$this->defineMensagem('success', 'O Curso '.$descricao.' FOI GRAVADO COM SUCESSO');
/*$_SESSION['tipo_mensagem'] = 'success';
$_SESSION['mensagem'] = 'O Curso '.$descricao.' FOI GRAVADO COM SUCESSO';*/
}
$this->entityManager->flush();
header('Location: /listar-cursos', true, 302);
}
}