PHP设计模式之单例模式简单代码介绍

PHP设计模式之单例模式

单例模式是一种创建型模式,它会限制应用程序,使其只能创建某一特定类类型的一个单一的实例。举例来说,一个web站点将会需要一个数据库连接对象,但是应该有且只能有一个,因此我们通过使用单例模式来实现这种限制。

我们可以使用一个静态属性来保证对于一个特定的类来说只存在一个单一的实例。

Class someclass{

       Static private $_instance = NULL;

}

【示例】config类实现了单例模式,以便整个web应用程序可以使用同一个配置对象。

<?PHP
       class config{
              //$_instance 属性代表类的单一实例,$_settings属性,存储配置信息
              static private $_instance = NULL;
              private $_settings = array();
              private function __construction(){}
              private function __clone(){}
              static function getInstance(){
                     if(self::$_instance == NULL){
                            self::$_instance = new cinfig();
                     }
                     return self::$_instance;
              }
              function set($index,$value){
                     $this->_settings[$index] = $value;
              }
              function get($index){
                     return $this -> _settings[$index];
              }
       }
?>


【示例】使用config类

<?PHP
       require('danli.php');
       $CONFIG = config::getInstance();
       //创建一个设置条目
       $CONFIG ->set('live','true');
       //打印出设置的值
       echo'<p>$CONFIG["live"]:'.$CONFIG->get('live').'</p>';
       //创建另一个配置对象,并确认设置的值。
       $TEST = config::getInstance();
       echo'<p>$TEST"live"]:'.$TEST->get('live').'</p>';
      
?> 


注意:从理论上来说,位于类外部的代码可以控制类的实例的数量,然而我们使用面向对象编程,并且一个类至少得有一个实例,那么在类中实现这种功能是最佳的选择。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值