ok, allora proverei una cosa del genere:
	Codice PHP:
	
//implemetare questi metodi 
class User 
{
public function __sleep() {
// actions to perform when serialized (e.g. close database connection)
}
public function __wakeup() {
// actions to perform when unserialized (e.g. reopen database connection)
}
}
//dove crei la sessione e recuperi i dati utente
$_SESSION['object'] = serialize(new User());
//in html/index.php
$object = unserialize($_SESSION['object']); 
 
Guarda qui per i magic method:
http://www.php.net/manual/en/language.oop5.magic.php 
Forse potresti provare un casting, ma questo non l'ho ancora verificato 
 :
	Codice PHP:
	
<?php
function cast_class($object, $newclass)
{
    if( !is_object($object) )
    {
        trigger_error('cast_class expects parameter 1 to be object, ' . gettype($object) . ' given', E_USER_WARNING);
        return false;
    }
    if( !class_exists($newclass) )
    {
        // We'll save unserialize the work of triggering an error if the class does not exist
        trigger_error('Class ' . $newclass . ' not found', E_USER_ERROR);
        return false;
    }
    $serialized_parts = explode(':', serialize($object));
    $serialized_parts[1] = strlen($newclass);
    $serialized_parts[2] = '"' . $newclass . '"';
    return unserialize(implode(':', $serialized_parts));
}
?>
$newclass = 'la tua classe user';
$userData = cast_class($object, $newclass);
 
occhio perchè serializzare un oggetto in PHP non è molto semplice: controlla anche che il costruttore della classe user, che dovrebbe essere qualcosa tipo:
	Codice PHP:
	
private $_dato1;
private $_dato2;
public function __construct($d1, $d2) {
   $this->_dato1 = $d1;
   $this->_dato2 = $d2;
}