美文网首页
php 设计模式之单类模式

php 设计模式之单类模式

作者: 0d601f651140 | 来源:发表于2016-06-13 11:09 被阅读36次
  • 单例模式:一个类只能产生一个对象,如果希望在系统中某个类(比如链接数据库的类)的对象只能存在一个,就选用单类模式。
  • 单类模式的特点:私有化的构造方法;私有化静态属性;//静态方法产生对象
<?php
class Singleton
{
   //私有化静态属性
    private static $_instance = null;
   //私有化的构造方法
    private function __construct()
    {
    }
   //静态方法产生对象
    public static function getInstance()
    {
        if (self::$_instance === null) {
            self::$_instance = new self();
        }

        return self::$_instance;
    }
}
//测试
$obj1 = Singleton::getInstance();
$obj2 = Singleton::getInstance();
var_dump($obj1);
var_dump($obj2);
?>
测试结果.jpg
  • 测试结果: #1是类id,上图打印obj1 和 obj2 的类id是结果一样,表示只实类化了一个类。
![错误的调用单类模式的类.jpg](https://img.haomeiwen.com/i2093159/f100bdcad11584ef.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  • 上面的两幅图尝试用new的方法实类化一个类,就会报错,因为是私有化的构造函数。

相关文章

  • php 设计模式之单类模式

    单例模式:一个类只能产生一个对象,如果希望在系统中某个类(比如链接数据库的类)的对象只能存在一个,就选用单类模式。...

  • PHP 常见设计模式

    DesignPattern_PHP PHP 基础设计模式学习,默认自动加载类 单例模式 一个类只允许实例化一次:如...

  • 《PHP设计模式大全》系列分享专栏

    php设计模式介绍之编程惯用法第1/3页 php设计模式介绍之值对象模式第1/5页 介绍php设计模式中的工厂模式...

  • 测试文章

    php 设计模式 1.单例模式 单例模式顾名思义,就是只有一个实例。作为对象的创建模式, 单例模式确保某一个类只有...

  • PHP设计模式之策略模式

    PHP设计模式之策略模式

  • PHP设计模式之策略模式

    PHP设计模式之策略模式

  • 2018-04-08php实战设计模式

    一、单例模式 单例模式是最经典的设计模式之一,到底什么是单例?单例模式适用场景是什么?单例模式如何设计?php中单...

  • php 工厂模式

    承接上篇php模式设计之 单例模式,(虽然好像关系不大)。今天讲述第二种基础的模式设计——工厂模式。 那么何为工厂...

  • 设计模式之单例模式

    设计模式之单例模式 Intro 一个类只允许创建唯一一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫...

  • PHP设计模式之观察者模式

    PHP设计模式之观察者模式

网友评论

      本文标题:php 设计模式之单类模式

      本文链接:https://www.haomeiwen.com/subject/sedydttx.html