加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

几种办法实现类名获取以及实现单例模式

发布时间:2022-07-02 16:07:33 所属栏目:PHP教程 来源:互联网
导读:今天小编将带大家学习一下用PHP实现类名获取以及实现单例模式,具有一定的参考价值,感兴趣的朋友可以了解一下! 获取类名的几种方式 1.__CLASS__:获取当前的类名 2.get_class():返回对象的类名 3.get_called_class():后期静态绑定(Late Static Binding
  今天小编将带大家学习一下用PHP实现类名获取以及实现单例模式,具有一定的参考价值,感兴趣的朋友可以了解一下!
 
  获取类名的几种方式
 
  1.__CLASS__:获取当前的类名
 
  2.get_class():返回对象的类名
 
  3.get_called_class():后期静态绑定("Late Static Binding")类的名称,即静态方法调用者的类名
 
  <?php
   
  class foo {
   
    
      }
   
  }
   
  class bar extends foo {
   
  }
   
  foo::test();
   
  echo "n";
   
  bar::test();
   
  ?>
  结果:
 
  //结果
   
  foo.__CLASS__:foo
   
  foo.get_class:foo
   
  foo.get_called_class:foo
   
  foo.__CLASS__:foo
   
  foo.get_class:foo
   
  foo.get_called_class:bar
  单例模式:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。
 
  <?php
   
    
   
  //通过get_called_class实现单例模式
   
    
       public static function getInstance() {  //静态共有方法实例化对象
   
          $class_name = get_called_class();
   
          if (isset(self::$instance[$class_name])) {
   
              return self::$instance[$class_name];
   
          }
   
          self::$instance[$class_name] = new $class_name;
   
          return self::$instance[$class_name];
   
      }
   
  }
   
  ?>
 

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读