1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| # 单例模式 <?php final class Singleton { private static $instance;
public static function getInstance(): Singleton { if (null === static::$instance) { static::$instance = new static(); }
return static::$instance; }
/** * 不允许从外部调用以防止创建多个实例 * 要使用单例,必须通过 Singleton::getInstance() 方法获取实例 */ private function __construct() { }
/** * 防止实例被克隆(这会创建实例的副本) * @return [type] [description] */ private function __clone() { }
/** * 防止反序列化(这将创建他的副本) */ private function __wakeup() { } }
|