<?php // 单例模式 class Singleton { // 私有静态属性用来存放实例和判断 private static $instance = null; // 私有构造方法禁止new private function __construct(){ } // 开放公开获取单例实例的静态方法 public static function getInstance(){ if(self::$instance == null){ self::$instance = new self(); } retun self::$instance; } // 私有的魔术克隆,禁止外部 clone 对象 private function __clone(){ } } $singleton = Singleton::getInstance(); var_dump($singleton);
通常是在程序声明周期内,资源需要具有共享性,唯一性,方便统一管理,比如万军只有一个统帅。统帅被万军共享,统帅唯一管理万军,这样的关系不会导致应用紊乱。
实战场景
windows系统的任务管理器和回收站
资源句柄,如文件,数据库,线程池等
理解若有错误,烦请指正。相互学习,多多交流。