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只一个单例模式就有好几种写法,如想了解请自行百度 :)

  • 相关阅读:
    测试一下你的T-SQL基础知识-count
    测试一下你的T-SQL基础知识-subquery
    Microsoft SQL Server 2012 管理 (2): Auditing
    Webpack
    react
    Webpack 傻瓜式指南(一)
    谈谈react-router学习
    使用Flexible 实现手淘H5 页面的终端适配学习
    Promise 让异步更优
    基于LeanCloud云引擎的Web全栈方案
  • 原文地址:https://www.cnblogs.com/lxhyty/p/11230723.html
Copyright © 2011-2022 走看看