码迷,mamicode.com
首页 > Web开发 > 详细

PHP设计模式浅谈

时间:2017-04-07 10:15:54      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:instance   classname   class   静态方法   静态变量   turn   模式   实例化   size   

1.单例模式

顾名思义,单例模式定义了一个对象只能有一个实例,相当于把类的控制权给到了一个单点上。

要求:

a.private的构造函数,使类无法被随意new实例化;

private function __construct{
    ......
}

 

b.有一个静态变量,用来保存类的实例;

static public $instance;

 

c.有一个公共的静态方法,来访问这个实例,通常命名为getInstance;

static public function getInstance(){
    if(empty(self::$instance)) self::$instance = new self();
    return self::$instance;
}

 

d.有一个private的__clone方法,防止对象被克隆;

private function __clone(){
    ......
}

 

所以,PHP实现单例模式的代码如下:

class ClassName{

    static public $instance;

    private function __construct(){
        ......
    }

    static public function getInstance(){
        if(empty(self::$instance)) self::$instance = new self();
        return self::$instance;
    }

    private function __clone(){
        ......
    }
}

 

未完待续......

 

PHP设计模式浅谈

标签:instance   classname   class   静态方法   静态变量   turn   模式   实例化   size   

原文地址:http://www.cnblogs.com/look-moose/p/6676250.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!