当我们在进行面向对象开发时可能会创造多个new对象,每次去创建一个对象时,对系统负荷造成了损失,为了减少new对象造成的资源损耗从而诞生了单例模式。
单例模式:通过单例模式的方法创建的类在当前进程中只有一个实例
实例:

<?php
 /**
  * 单例模式实例
  * auth:尹深
  */
 class Demo{
 //1:静态私有属性保存当前实例
 private static $instance=null;
 //2:构造方法私有化 禁止外部 new
 private function __construct()
 {
 }
 //3:克隆方法私有化禁止从外部克隆来创建示例
 private function __clone()
 {
     // TODO: Implement __clone() method.
 }
 //4:生成当前类的唯一实例
 public static function getInstance(){
 //如果不是当前类的的实例,初始化创建当前类的实例
     if(!self::$instance instanceof self){
         self::$instance= new self();
     }
     return self::$instance;
 }
 }
 $obj=Demo::getInstance();
 $obj1=Demo::getInstance();
 $obj2=Demo::getInstance();
 $obj3=Demo::getInstance();
 $obj4=Demo::getInstance();
 var_dump($obj,$obj1,$obj2,$obj3,$obj4)
 ?>

请输入图片描述

Last modification:November 16th, 2019 at 01:27 pm
如果觉得我的文章对你有用,请随意赞赏