Gracias GatorV, pero no hubo caso, tengo esos métodos implementados en mi clase de base de datos connect() y disconnect(), pero al implementarlo de la forma de tu ejemplo mi objeto carro queda como null (se pierde todo).
como "momentaneo" opté por hacer lo siguiente:
Código PHP:
if(isset($_SESSION["cart"]) && $_SESSION["cart"]!=''){
$cart= unserialize($_SESSION["cart"]);
$cart->addDbObject($db);
} else {
$cart= new shoppingCart($db); // $db objeto de abstracción base de dato
}
funciona bien, pero me gustaría que quede hecho con los métodos mágicos:
Código PHP:
class ShoppingCart {
public function __sleep() {
$db->disconnect(); // Cerramos la conexion
}
public function __wakeup() {
$db->connect(); // Volvemos a conectar a la base de datos
}
}
Cualquier sugerencia estaría muy agradecido.
Mis metodos de connect() y disconnect() tiene la siguiente forma:
Código PHP:
// define MySQL class
class MySQL
{
/*--------------------------------*/
// connect to database
public function connectDB()
{
if(!$this->conId=mysql_connect($this->host,$this->user,$this->password))
{
throw new Exception('Error connecting to the server');
}
if(!mysql_select_db($this->database,$this->conId))
{
throw new Exception('Error selecting database');
}
}
function disconnect()
{
if($this->conId)
{
if($this->query_result)
{
@mysql_free_result($this->query_result);
} elseif ($this->result){
@mysql_free_result($this->result);
}
$result = @mysql_close($this->conId);
return $result;
}
else
{
return false;
}
}
Gracias y saludos
zsamer