__PHP_Incomplete_Class对象,即使在会话开始之前包含类


__PHP_Incomplete_Class Object even though class is included before session started

我有一个"page"类,在它的构造上包括一个"shoppingCart"类,启动一个会话,创建一个shoppingCart对象,然后设置$_SESSION['shoppingCart']到shoppingCart对象。

当我print_r会话时,我仍然得到一个不完整的类…

我以为这只发生在你开始会话之前,包括类?

我的"page"类中的代码看起来像这样:

include ('include/shopping_cart.php');
if (session_id() == '')
    {
    session_start();
    }
if (!isset($_SESSION['shoppingCart']))
    {
    $_SESSION['shoppingCart'] = new shoppingCart;
    }

我显然不明白这个…请帮助!

要在会话中存储对象必须满足两个条件:

1)类必须在会话开始前定义。2)类必须实现serializable