门面模式(singleton pattern) 2015-09-23 | 必须拥有一个访问级别为 private 的构造函数,有效防止类被随意实例化; 必须拥有一个保存类的实例的静态变量; 必须拥有一个访问这个实例的公共的静态方法,该方法通常被命名为 getInstance(); 必须拥有一个私有的空的__clone方法,防止实例被克隆复制 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152class Singleton{ private $name; private static $instance; private function __construct() { } private function __clone() { // TODO: Implement __clone() method. } public static function getInstance() { if (!self::$instance instanceof self) { self::$instance = new self(); } return self::$instance; } public function getName() { return $this->name; } public function setName($name) { $this->name = $name; } public function sayHi() { echo "hi"; }}// 调用demo$single = Singleton::getInstance();//$c_single= clone $single;$single->setName("TOM");echo $single->getName(); 分享即是成长 打赏 微信支付 本文作者: changyuan 本文链接: http://changyuan.github.io/2015/09/23/singleton-pattern/ 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!