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

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

      

    <?php
    class Singleton{
        //私有属性,用于保存实例
        private static $instance;
        //构造方法私有化,防止外部创建实例
        private function __construct(){}
        //公有属性,用于测试
        public $a;
        //公有方法,用于获取实例
        public static function getInstance(){
            //判断实例有无创建,没有的话创建实例并返回,有的话直接返回
            if(!(self::$instance instanceof self)){
                self::$instance = new self();
            }
            return self::$instance;
        }
        //克隆方法私有化,防止复制实例
        private function __clone(){}
    
    }

    测试:

    首先创建两个实例:

    $first = Singleton::getInstance();
    $second = Singleton::getInstance();

    给第一个实例中的$a属性赋值,并打印两个实例

    $first->a = "zs";
    echo "<pre>";
    print_r($first);
    print_r($second);

    打印结果为:

    给第二个赋值,并打印:

    $first->a = "zs";
    $second->a = "ls";
    echo "<pre>";
    print_r($first);
    print_r($second);

      PHP的单例模式相对Java比较简单,Java只一个单例模式就有好几种写法,如想了解请自行百度 :)

  • 相关阅读:
    python 变量作用域
    python 函数与模块
    python 程序控制结构
    python zip() map() filter()
    python 迭代和列表解析
    python 字典视图
    Matlab程序设计
    Matlab 基本绘图练习 包含极坐标
    Matlab 软件绘图
    Pandas 控制输出格式和精度
  • 原文地址:https://www.cnblogs.com/lxhyty/p/11230723.html
Copyright © 2011-2022 走看看