php 单例模式 基于SESSION

来源:互联网 发布:被狙击的学园 知乎 编辑:程序博客网 时间:2024/06/01 08:57

<?phpsession_start();class cartTool{static protected $ins=NULL;public $hash;final private function __construct()//new的时候会报一个严重的错误,程序停止运行{$this->hash = mt_rand(1111,333333);}final function __clone(){}static public function getInstance(){if( !isset($_SESSION['cart']) || !($_SESSION['cart'] instanceof self)){$_SESSION['cart'] = new self();}return $_SESSION['cart'];}}$s1 = cartTool::getInstance();$s2 = cartTool::getInstance();var_dump($s1);var_dump($s2);?>

编写商城购物车的时候会用到

只要浏览器不关闭,全站一直只有一个cartTool的实例,这样可以保证全站的购物车统一数据