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

php单例模式

时间:2017-05-07 18:33:47      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:cti   code   struct   one   模式   获取   静态   sign   const   

class SingleDesign
{
    private static $instance = null;

    private function __construct(){}
    private function __clone(){}

    public static function getInstance()
    {
        if (self::$instance === null) {
            self::$instance = new self();
        }
        return self::$instance;
    }

}

 

单例模式:
优点:在运行期间,只能得到一个类的实例.防止重复的开销.
设计思路:
1.设置一个静态变量
2.私有化构造方法
3.提供一个静态方法,在静态方法中判断静态变量是否有初始化为该类实例,如果有,返回,没有,初始化


其实一些函数中也可以借用这种思想

function user_info ($uid)
{
    static $s_user = array();
    if (isset($s_user[$uid])) {
        $s_user[$uid] = $db->where("id=" . $uid)->query();
    }
    return  $s_user[$uid];
}

 

在程序运行期间,调用该方法,比如获取$uid为10的用户信息,无论调用多少次,则只会读取一次数据库.节省开销.

php单例模式

标签:cti   code   struct   one   模式   获取   静态   sign   const   

原文地址:http://www.cnblogs.com/itfenqing/p/6821463.html

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