码迷,mamicode.com
首页 > Web开发 > 详细

PHP面向对象-单列模式

时间:2015-06-13 20:20:01      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

单例模式,在PHP面向对象中应用的比较广泛, 通常为了节省资源,在性能方面上,代码重用性上考虑,使用设计模式是很不错的选择, 比如数据库操作类系统类库等,通常开源代码都会使用单列模式去设计完成,使用单列模式的优点很明显, 可以保证每个类生成实体的唯一性,性能方面有所提高.

<?php
header("Content-Type:text/html; charset=utf8");

/**
 * php设计模式
 * 三:单列模式
 *
 */

class Sigle{

    protected static $instanc = null;

    protected function __construct(){

    }

    public static function getInstan(){

        if(self::$instanc === null){
            self::$instanc = new self;
        }
        return self::$instanc;
    }

    private function __clone(){
        echo 'conle';
    }
}



$obj1 =  Sigle::getInst();
$obj2 = Sigle::getInst();

if($obj1 === $obj2){
    echo '是一个对象';
}else{
    echo '不是一个对象';
}

解释: 从列子中可以看出,  把构造函数__construct,__clone私有化, 目的是防止new和克隆一个新的对象, 然后开放getInstace这个公共的操作,让其调用保证这个对象的唯一性.




PHP面向对象-单列模式

标签:

原文地址:http://blog.csdn.net/xueling022/article/details/46484117

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!