zoukankan      html  css  js  c++  java
  • php单例模式

    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的用户信息,无论调用多少次,则只会读取一次数据库.节省开销.

  • 相关阅读:
    Python操作Mongo数据库
    Python正则模块
    Python时间模块
    Python协程(下)
    Python协程(中)
    Python协程(上)
    aiohttp
    常用排序算法的Python实现
    江苏省各地级市58同城租房数据
    百合网
  • 原文地址:https://www.cnblogs.com/itfenqing/p/6821463.html
Copyright © 2011-2022 走看看