Quindi, come faccio nell'esempio dello stack, puoi affidare la metodo destruct il compito di salvare l'oggetto tabella in sessione.
Come nell'esempio dello stack, quando devi creare un oggetto tabella non lo fai tramite la new, ma per mezzo di un metodo static che se trova l'oggetto in sessione lo ripristina da lì altrimenti ti restituisce un nuovo oggetto. Oppure utilizzi un'altra classe che ha il compito di costruire la classe tabella o recuperarla dallo stack.
Gli oggetti si corrompono se li assegni direttamente ad una sessione
Codice PHP:
$_SESSION['oggetto']=$oggetto;//alla chiamata successiva questo non lo recuperi più
è sbagliato. devi utilizzare la funzione serialize per assegnarlo alla sessione e unserialize per ripristinarlo:
Codice PHP:
$_SESSION['oggetto']=serialize($oggetto);
$oggetto=unserialize($_SESSION['oggetto']);
Inquesto modo è corretto.