PHP单例模式详解-PHP设计模式
大家好我是山河,今天我给大家谈谈关于这个PHP的单例模式啊,
什么是单例模式?
单例模式要求:一个类只能有一个对象
应用场景:多次请求数据库只需要一个连接对象。
实现:三私一公
1、私有的静态属性用来保存对象的单例
2、私有的构造方法用来阻止在类的外部实例化
3、私有的__clone阻止在类的外部clone对象
4、公有的静态方法用来获取对象的单例
代码详解
<?php //三私一公 class DB { //静态的属性用来保存对象的单例 private static $instance; //私有的构造方法阻止在类的外部实例化 private function __construct() { } //私有的__clone()阻止在类的外部clone对象 private function __clone() { } public static function getInstance() { //保存的值不属于DB类的类型就实例化 if(!self::$instance instanceof self) self::$instance=new self(); return self::$instance; } } //测试 $db1=DB::getInstance(); $db2=DB::getInstance(); var_dump($db1,$db2); //object(DB)#1 (0) { } object(DB)#1 (0) { }
各位小伙伴,看完这篇教程,我相信大家是不是有所感悟呢?
好了,本篇文章到此结束,我是山河。