PHP设计模式–单例模式

PHP jason 433℃ 0评论

单例模式:
1)一个类只有一个实例,声明构造函数和克隆函数为私有属性。
2)声明一个唯一的静态变量成员。
3)提供一个访问实例的静态方法,返回唯一实例的引用。
主要应用场景是和数据库打交道,避免大量的New操作。


/**
 * 单例模式
 */
class DanLi {

    private $name; //定义一个私有变量
    private function __construct() { //禁止其他的类调用

    }

    static public $instance; //定义一个静态变量

    static public function staticInfo() { //声明一个静态函数检测是否有实例对象
        if(!self::$instance) self::$instance = new self();
        return self::$instance;
    }

    /**
     * @return mixed
     */
    public function setName($n) {
        $this->name = $n;
    }

    public function getName() {
        return $this->name;
    }
    private function __clone() { //防止被克隆

    }
}

$res = DanLi::staticInfo();
$res->setName('hello jason');
echo $res->getName();

转载请注明:Jason博客 » PHP设计模式–单例模式

喜欢 (2)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

记载着一个程序员的编码历程