当我们在进行面向对象开发时可能会创造多个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)
?>
版权属于:尹深
本文链接:https://cloud.tencent.com/developer/article/1795033
转载时须注明出处及本声明
(本站部分资源来自互联网收集整理!如有侵权请联系站长删除!!!)