zoukankan      html  css  js  c++  java
  • php 八大设计模式-单例模式

    单例模式  记住口诀三私一公

    单例模式是最常见的模式之一,在Web应用的开发中,常常用于允许在运行时为某个特定的类创建仅有一个可访问的实例。

    特点

    1. $_instance必须声明为静态的私有变量;
    2. 构造函数和析构函数必须声明为私有,防止外部程序new 类从而失去单例模式的意义;
    3. getInstance()方法必须设置为公有的,必须调用此方法 以返回实例的一个引用;
    4. __clone()必须申明私有的方法,防止克隆对象;

    优势

    • 实例化后只得到一个对象,减少内存的开销

    使用场景

    只实例化一次,内部实例化,对外只有一个开放方法,只能通过调取该方法进行调取实例化对象。 比如:数据库连接

    <?php
    class Demo {
    
        // 变量
        private static $_instance;
    
        // 构造函数
        final private function __construct() {
    
        }
    
        // 获取类唯一入口
        static public function getInstall() {
            if( self::$_instance === null ) {
                self::$_instance = new self();
            }
            return self::$_instance;
        }
    
        // 克隆函数
        final private function __clone() {
    
        }
    
        // 析构函数
        final private function __destruct() {
    
        }
    
    }
    
    $test1 = Demo::getInstall();
    $test2 = Demo::getInstall();
    
    // 判断是否是同一个对象
    if( $test1 === $test2 ) {
        echo '同一个对象';
    } else {
        echo '不是同一个对象';
    }
    
    
     ?>
  • 相关阅读:
    Linux 误卸载软件,所有命令不能用了咋办
    MySQL 全局锁和表锁
    MongoDB 基础
    MySQL 常见错误
    MySQL 锁信息和事务
    B2C电子商务平台概述及开发公司推荐
    O2O本地生活平台推荐
    OA办公系统哪个公司做的好
    集团企业OA系统选型推荐
    协同OA办公系统选型推荐
  • 原文地址:https://www.cnblogs.com/fangdada/p/14848093.html
Copyright © 2011-2022 走看看