__PHP_Incomplete_Class e Zend Framework

Fazendo um projeto base de autenticação de usuário no PHP com Zend Framework me deparei com a seguinte questão:

Ao inserir um objeto em uma variável instanciada de Zend_Session_Namespace (ou seja, na session) e depois ao tentar acessar novamente a variável apresentava que o objeto é do Tipo __PHP_Incomplete_Class.

Fiz algumas pesquisas pela interner e encontrei um bom texto sobre o assunto no blog Tupi.

Resumindo: Ao tentar trazer o objeto da sessão pelo Zend é utilizado a função unserialize. Usando esta função e não tendo a classe incluida no seu escopo o PHP não reconhece o tipo do objeto e classifica assim.

Para resolver o problema o Bruno Viana menciona 2 características:

Uma solução para isso é utilizar o magic method __wakeup para requerir as classes necessárias para esse objeto desserializar sem problemas. Ou então certifique-se de que sua sessão está sendo iniciada depois dos require’s e include’s.

Particularmente eu fiz diferente. Utilizei uma função da própria classe que faz o mapeamento do objeto transformando em um array ( ->toArray() ).