注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Copper peas ' Bolg

Keep On Moving...This Is My Life...

 
 
 

日志

 
 

【原】 PHP 设计模式九之单例设计模式  

2011-06-13 11:24:34|  分类: php |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

<?php
/**
 * 数据库实例 单例设计模式
 * 定义:指的是在 PHP 的应用程序的范围内只对指定的类创建一个实例。
 * @anthor Chen Wei Han <csq-3@163.com>
 * @copyright Chen Wei Han 2011-6-13上午11:23:11
 * @link http://csq-3.blog.163.com
 * @package demo
 * @version 1.0 singleton.php
 */

/**
 * 单例实例
 *
 */
class Singleton
{
  
    
   private static $_instance;
   private $_db;
    
   private function __construct()
   {
     $this->_db = "class";
   }
  
   /**
    *
    * 判断是否已经实例
    * 静态方法里面不能使用$this指向,因为$this指向实例的堆栈,而静态的方法本身就存在,不会在临时的堆栈中。
    * 需要声明对应变量为静态私有变量
    */
   public static function getInstance()
   {
     if(!(self::$_instance instanceof self))
     {           
      self::$_instance = new self();      
     }       
     return self::$_instance;
   }
   
   /**
    * 单例避免被复制,保持类单一职责
    */
   private function __clone(){}
  
   /**
    * 测试
    */
   public function getvalue()
   {
      echo $this->_db;
   }  
}

$sing = Singleton::getInstance();
$sing->getvalue();


 

  评论这张
 
阅读(72)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018