zoukankan      html  css  js  c++  java
  • PHP设计模式之单例模式

    一、简介:

    使得类的一个对象成为系统的唯一实例,不会重复的去创建一个类

    常见的使用单例模式的是:数据库类

    二、三个要点:

    1、单例模式的类只提供私有的构造函数 : private function __construct()

    2、类定义中含有一个该类的静态私有对象: private static $instance=null;

    3、提供了一个静态的公有的函数用于创建或获取它本身的静态私有对象: public static function getInstance()

    三、简单PHP代码demo:

    <?php
    /**
     * Singleton pattern with php 单例模式
     * User: DongJuntong
     * Date: 2017/2/9
     * Time: 18:21
     */
    class Singleton
    {
        private static $instance=null;
        public $name='';
    
        private function __construct()
        {
    
        }
        private function __clone()
        {
    
        }
    
        public static function getInstance()
        {
            if(empty(self::$instance))
            {
                self::$instance=new Singleton();
            }
            return self::$instance;
        }
    }

    四、测试代码:

    $single1=Singleton::getInstance();
    $single1->name='张三';
    echo "name值为:{$single1->age}<br/>";// 张三
    
    $single2=Singleton::getInstance();
    $single2->name='李四';
    
    echo "name值为:{$single1->age}<br/>";//李四
    echo "name值为:{$single2->age}<br/>";//李四

    可以看出第二次的name值也变成了‘李四’ 说明single1 和single2 是同一个对象。

  • 相关阅读:
    jmeter使用教程
    Jmeter的好搭档Badboy的安装与简单使用
    十大编程算法助程序员走上高手之路
    polyfillJS生成promise对象
    js+canvas实现滑动拼图验证码功能
    WebAssembly介绍
    解释器与编译器
    使用axios优雅的发起网络请求
    【javascript】script标签的async异步解析
    sass用法快速入门
  • 原文地址:https://www.cnblogs.com/dongtong/p/6434230.html
Copyright © 2011-2022 走看看