单例模式之php兑现

WBOY
發布: 2016-06-13 12:53:49
原創
933 人瀏覽過

单例模式之php实现

单例模式保证某个类只有一个实例;

1,静态成员变量保存类的唯一实例

2,声明构造函数和克隆方法为私有,防止new一个实例

3,提供一个公共的静态方法来访问这个实例,返回唯一实例的的引用

class InstanceDemo
{

    private static $_instance;//静态成员变量保存唯一的实例


    private function __construct()//构造函数
    {
        echo 'I am Construceted';
    }

    public static function GetInstance()
    {
        if(!isset(self::$_instance))
        {
            $c=__CLASS__;
            self::$_instance=new $c;//new  self()
        }
        return self::$_instance;
    }


  //覆盖__clone()方法,禁止克隆 

    private function __clone()  
    {  
        echo "禁止clone";
    }

        function test()
    {
        echo("test  instance");

    }
}
   //调用静态的共有方法得到唯一的一个实例
    $test = InstanceDemo::GetInstance();
    $test->test();
    //禁止克隆哦
    $test_clone = clone $test;

?>
1楼wangeen昨天 09:51
php的语法是不是和java差不多
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!