Chinaunix首页 | 论坛 | 博客
  • 博客访问: 79760
  • 博文数量: 35
  • 博客积分: 1772
  • 博客等级: 上尉
  • 技术积分: 375
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-08 14:39
文章分类
文章存档

2012年(1)

2011年(16)

2010年(18)

我的朋友

分类:

2010-04-23 16:38:38

 

单例模式:一个类在一个应用中只能存在一个实例,这就是单例模式,单例模式有如下几个特点:

1、单例模式的__construct构造函数必须为private私有属性,目的是避免在类的外面new 此类。

2、必须有一个名为_instance的静态变量,该变量用来存储该类的指针,应用使用该类都是基于这个变量的。

3、必须有一个名为GetInstance的公共静态方法,此方法用来返回上面所说的静态变量。

实例代码如下:

<?php
    class Database
    {
        private $db;
        static $_instance;

        private function __construct()
        {
            $this->db = 'this is a db connection';
        }

        private function __clone()
        {

        }

        public static function GetInstance()
        {
            if (! self::$_instance instanceof self)
            {
                self::$_instance = new self();
            }

            return self::$_instance;
        }
    }

    var_dump(Database::GetInstance());


阅读(414) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~