Rumah >pembangunan bahagian belakang >tutorial php >关于PHP中单例模式的实现

关于PHP中单例模式的实现

藏色散人
藏色散人ke hadapan
2019-12-04 17:07:482256semak imbas

由于我以前是做java开发的,在使用单例模式的时候,首先想到的想用饿汉式,然后发现在PHP中,有这样一个特性:因为PHP不支持在类定义时给类的成员变量赋予非基本类型的值。如表达式,new操作等等。转而想要确保这个单例模式的原子性,发现PHP中也没有像JAVA中的线程安全问题。

嘿嘿,你说PHP好不好?那么OK接下来就试试PHP的懒汉式单例模式了。

相关推荐:《PHP教程

一、三私一公:

①、私有静态属性,又来储存生成的唯一对象

②、私有构造函数

③、私有克隆函数,防止克隆——clone

④、公共静态方法,用来访问静态属性储存的对象,如果没有对象,则生成此单例

二、关键词instanceof

检查此变量是否为该类的对象、子类、或是实现接口。

1、一个private的__construct是必须的,单例类不能在其它类中实例化,只能被自身实例化;

2、拥有一个保存类的实例的静态成员变量;

3、一个静态的公共方法用于实例化这个类,并访问这个类的实例;

  class SingleInstance{
        
        private function _construct(){
            
        }
        
       private static $instance;
       
       private function _clone(){
           
       }
       public static function getInstance(){
           
           if(!self::$instance instanceof SingleInstance){
               self::$instance=new SingleInstance();
           }
           return self ::$instance;
           
       }
       
    }

Atas ialah kandungan terperinci 关于PHP中单例模式的实现. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:csdn.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam