Estou em duvida de como usar objetos em sessão no PHP e vi que tem outros tópicos sobre esse assunto mas não tiraram minha duvida.
Já li sobre serialize() e unserealize() mas acho que não entendi direito como usar.
No meu projeto eu passo um objeto para sessão e quando vou acessar esse objeto da um erro., dei um var_dump() nele e o objeto fica como _php_incomplete_class
Não estou conseguindo usar esse objeto.
class Sessao {
public static function setAtitivadeAcademicaAtual($atividade){
$aux = serialize($atividade);
$_SESSION['atividadeAcademicaAtual'] = $aux;
}
public static function getAtividadeAcademicaAtual(){
$aux = unserialize($_SESSION['atividadeAcademicaAtual']);
return $aux;
}
Controller :
private function initCadastro(){
$this->usuarioDAO = new UsuarioDAO();
$this->atividadeAcademicaDAO = new AtividadeAcademicaDAO();
$this->usuario = $this->usuarioDAO->findById($_SESSION['id']);
$this->usuario->setAtividadesAcademicas($this->atividadeAcademicaDAO->findAtividadesAcademicasByUsuario($_SESSION['id']));
if(!isset($_SESSION['atividadeAcademicaAtual'])){
Sessao::setAtitivadeAcademicaAtual($this->usuario->getAtividadesAcademicas()[0]);
}
}
public function alteraAtividadeAcademica() {
$atividadeAcademicaDAO = new AtividadeAcademicaDAO();
Sessao::setAtitivadeAcademicaAtual($atividadeAcademicaDAO->findById($_POST['idAA']));
$this->redirect('/cadastroquestao/dissertativa');
}
Front:
<div class="col-md-6">
<h1>
<?php echo isset($_SESSION['atividadeAcademicaAtual']) ? Sessao::getAtividadeAcademicaAtual()->getDescricao() : "Não está vinculado a uma Atividade Acadêmica";?>
</h1>
</div>
</div>