php单例模式

单例模式是一种常用的设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。

<?php
class Danli{
    private static $_instance = null;

    private function __construct(){
        echo '----construct----';
    }

    public static function getInstance(){
        if(is_null(self::$_instance)){
            self::$_instance = new self;
            echo '------';
        }
        return self::$_instance;
    }

    public function __clone(){
        trigger_error('clone is not allow', E_USER_ERROR);
    }

    public function test(){
        echo 'test';
    }

}

// 防止外部实例化
// $danli = new Danli();

$danli = Danli::getInstance();
$danli = Danli::getInstance();
$danli = Danli::getInstance();

//防止克隆
// $danli_clone = clone $danli;

$danli->test();

Tags: PHP

添加新评论