单例模式就是一个类只能有一个对象实例,要实现单例模式注意一下两点
- 该类自己创建该类的唯一对象
- 对外暴露一个统一的接口,用于获取该对象
PHP实现时还要注意防止直接创建对象和克隆
1 <?php 2 /** 3 * Single.php 4 * Created on 2019/8/30 10:03 5 * Created by Wilin 6 */ 7 8 class Single 9 { 10 private static $instance; 11 12 //防止直接创建对象 13 private function __construct(){} 14 //防止克隆 15 private function __clone(){} 16 17 public static function getInstance(){ 18 if (!self::$instance instanceof self) { 19 self::$instance = new self(); 20 } 21 return self::$instance; 22 } 23 }