前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【php设计模式】单例模式

【php设计模式】单例模式

作者头像
码缘
发布2019-05-31 15:39:52
8640
发布2019-05-31 15:39:52
举报
文章被收录于专栏:PHP修行之路PHP修行之路

实现单例的三个关键点:

1、使用一个静态成员来保持一个单例实例

2、一个私有的构造方法使得该类只能在类的内部方法中被实例化

3、在实例化对象的静态方法中,先判断静态变量是否已经被赋值,如果赋值则返回该静态成员如果没有则重新实例化赋值

单例模式:

class Car{
    public static $_instance = null;
    private $name;

    private function __construct($name){
        $this->name = $name;
    }

    public static function getInstance($name){
        if(!self::$_instance){
            self::$_instance = new Car($name);
        }
        return self::$_instance;
    }

    public function getName(){
        return $this->name;
    }
}

$car = Car::getInstance("benchi");

$car1 = Car::getInstance("baoma");

print_r($car->getName());
print_r($car->getName()); // 输出 benchibenchi

普通实例化类:

class Car{

    private $name;

     public function __construct($name){
         $this->name = $name;
    }

    public function getName(){
        return $this->name;
    }

}

$car = new Car("benchi");
$car1 = new Car("baoma");

print_r($car->getName());
print_r($car1->getName());  //输出 benchibaoma
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-05-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档