PHP设计模式——单例模式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP设计模式——单例模式相关的知识,希望对你有一定的参考价值。

<?php
/**
 * 单例模式
 * 通过提供对自身共享实例的访问,单例模式用于限定特定对象只能被创建一次的情况。
 * 
 * 应当阻止创建某个对象的多个实例时,我们最好用单例模式来创建这个对象。
 */
class Single{
    protected static $_instance = NULL;
    protected $_handle = NULL;
    //方法前加final,则方法不能被重写;类前加final,则类不能被继承。
    final protected function __construct(){
        //连接数据库
        $dbName = ‘design‘;
        $this->handle = mysql_connect(‘localhost‘,‘root‘,‘‘);
        mysql_select_db($dbName,  $this->handle);
        echo $dbName.‘数据库连接成功<br>‘;
    }
    //禁止克隆对象
    final protected function __clone() {
    }
    public static function getInstance() {
        if(!self::$_instance instanceof self){
            self::$_instance = new self;
        }
        return self::$_instance;
    }
}

$a = Single::getInstance();
$b = Single::getInstance();
if($a === $b){
    echo ‘是同一对象‘;
}else{
    echo ‘不是同一对象‘;
}

 

以上是关于PHP设计模式——单例模式的主要内容,如果未能解决你的问题,请参考以下文章

设计模式之单例模式

PHP设计模式------单例模式

php设计模式-单例模式

PHP单例模式简记

PHP设计模式之:单例模式

php设计模式--单例模式