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

  • 相关阅读:
    虚拟用户图分析
    概要图分析
    服务器资源监控视图
    场景监控之基本信息
    controller场景设计
    ip欺骗
    面试准备
    性能测试
    (一)总结
    bug的描述
  • 原文地址:https://www.cnblogs.com/itfenqing/p/6821463.html
Copyright © 2011-2022 走看看