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单例模式就出来了,大家可以尝试一下       


文章来源: php中的单例模式

人吐槽 人点赞

猜你喜欢

发表评论

用户名: 密码:
验证码: 匿名发表

你可以使用这些语言

查看评论:php中的单例模式