单例模式

单例设计模式的要求(三私一公)
ü 一私:私有的静态的保存对象的属性。
ü 一私:私有的构造方法,阻止类外new对象。
ü 一私:私有的克隆方法,阻止类外clone对象。
ü 一公:公共的静态的创建对象的方法。
image.png
image.png

  1. <?php
  2. //单例设计模式的核心代码
  3. class Db {
  4. //私有的静态的保存对象的属性
  5. private static $obj = null;
  6. //私有的构造方法:阻止类外new对象
  7. private function __construct(){
  8. }
  9. //私有的克隆方法:阻止类外clone对象
  10. private function __clone(){}
  11. //公共的静态的创建对象的方法
  12. public static function getInstance(){
  13. //判断当前对象是否存在
  14. if(!self::$obj instanceof self)
  15. {
  16. //如果对象不存在,创建并保存它
  17. self::$obj = new self();
  18. }
  19. //返回对象
  20. return self::$obj;
  21. }
  22. }
  23. //创建数据库类的对象
  24. $db1 = Db::getInstance();
  25. $db2 = Db::getInstance();
  26. var_dump($db1,$db2);