php中的单例模式

单例模式可以说是面向对象语言里最常用,也是最简单的一种模式。译文单就是单个实例,单个对象的意思,就是说我们去实例化一个类的时候,不管调用多少次,都永远只有一个实例,  不会有多个,这样就节省了内存分配开支。

先简单说下单例模式的原理:将构造函数__construct设置为私有的private,对外提供一个比如static静态方法getInstance获得实例,在getInstance方法里来做统一判断是否有new一个实例,有的话直接返回,没有就new一个,这样就保证了不管外面调用多少次,只保证new了一次

话不多说直接上代码

/ **
 * 1.单例模式Single.php
 * /
 class Single
 {
 static private $ instance ;
/ **
      *在单例模式下,要将构造方法设为私有的,这样在外部就不能实例化
      * /
 private function __construct()
     {
     }
 / **
      *这个是获取实例化对象的入口,是静态方法,不需要new,可以直接调用
      * /
 static public function getInstance()
 {
         //判断一下$ instance是否已经存在
         if (!isset self :: $ instance )){
            self :: $ instance = new Single() ;
         }
            返回self :: $ instance ;
 }
 public function get()
{
        echo'you get it!' ;
 }
}   
到这里一个简单的php单例模式就出来了,大家可以尝试一下       



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值