php设计模式之一单例模式

最近在学习设计模式,很多地方还理解的不够。在这里记录一下自己学习的东西,方便自己以后查看和理解,同时也给正在学这部分的同学提供一点参考。

单例模式(Singleton Pattern 单件模式或单元素模式)

单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。

单例模式是一种常见的设计模式,在计算机系统中,线程池、缓存、日志对象、对话框、打印机、数据库操作、显卡的驱动程序常被设计成单例。

单例模式分3种:懒汉式单例、饿汉式单例、登记式单例。

单例模式有以下3个特点:

1.只能有一个实例。

2.必须自行创建这个实例。

3.必须给其他对象提供这一实例。

饿汉单例模式 不过在php里,不允许这么实用。所以我们主要是说PHP的懒汉式单例模式 

<?php

class User {
    //静态变量保存全局实例
    private static $_instance = null;
    //私有构造函数,防止外界实例化对象
    private function __construct() {
    }
    //私有克隆函数,防止外办克隆对象
    private function __clone() {
    }
    //静态方法,单例统一访问入口
    static public function getInstance() {
        if (!self::$_instance) {
            self::$_instance = new self ();
        }
        return self::$_instance;
    }
    public function getName() {
        echo 'hello world!';
    }
}

 

posted @ 2017-10-19 17:20  CandyChen  阅读(102)  评论(0)    收藏  举报