<pre name="code" class="php"><?php
/**
* php-单例模式
* 单例类基本构成元素
* 1.必须拥有一个private的构造函数(防止外部实例化)
* 2.一个保存实例的静态变量(只实例化一次)
* 3.一个访问实例的静态公共方法(创建实例)
*/
class Singleton
{
// 受保护的静态属性,用于保存实例
private static $instance;
// 受保护的构造方法防止外部实例化
private function __construct(){
return 'This is Private';
}
// 用户外部获取实例
public static function getInstance(){
// 只实例化一次
if (null === self::$instance){
self::$instance = new self;
}
return self::$instance;
}
public function fun1 (){
return '方法一';
}
// 防止外部克隆
private function __clone(){
}
// 防止外部反序列化
private function __wakeup(){
}
}
echo Singleton::getInstance()->fun1();
php设计模式——单例模式
最新推荐文章于 2024-09-05 11:13:05 发布