gracias GatorV, separas de la clase Cart el acceso a la base de datos no es posible ya que tengo métodos que hacen consultas.
Lo del sleep y wakeup muy buena y elegante solución, también se me había ocurrido lo siguiente:
Código PHP:
class Cart{
public function addDbObject(PDO $db){
$this->db = $db;
}
public function __destruct() {
$this->db = null;
if (isset($_SESSION["cart"])) {
unset($_SESSION["cart"]);
}
$_SESSION["cart"] = $this;
}
}
if(isset($_SESSION["cart"]) && $_SESSION["cart"]!=''){
$cart = $_SESSION["cart"];
$cart->addDbObject($db);
} else {
$cart = new Basket($db);
}
Gracias y saludos.