Erlo

关于PHP中单例模式的实现

2020-10-18 22:00:37 发布   280 浏览  
页面报错/反馈
收藏 点赞

由于我以前是做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;
           
       }
       
    }

以上就是关于PHP中单例模式的实现的详细内容,更多请关注jquery中文网其它相关文章!

  • 本文转载于:csdn,如有侵犯,请联系jquerycn@qq.com删除
  • 您可能感兴趣的文章:

    登录查看全部

    参与评论

    评论留言

    还没有评论留言,赶紧来抢楼吧~~

    手机查看

    返回顶部

    给这篇文章打个标签吧~

    棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认