php清空单例属性_php单例模式为何只能实例化一次

php单例演示示例:

/**

* php单例

* site www.jbxue.com

*/

class Example

{

// 保存类实例在此属性中

private static $instance;

// 构造方法声明为private,防止直接创建对象

private function __construct()

{

echo 'I am constructed';

}

// singleton 方法

public static function singleton()

{

if (!isset(self::$instance)) {//判断是否以前创建了当前类的实例

$c = __CLASS__;//获取类名

self::$instance = new $c;//如果没有创建,实例化当前类,这里实现类只实例化一次

}

return self::$instance;//返回类的实例

}

// Example类中的普通方法

public function bark()

{

echo 'Woof!';

}

// 阻止用户复制对象实例

public function __clone()

{

trigger_error('Clone is not allowed.', E_USER_ERROR);

}

}

// 这个写法会出错,因为构造方法被声明为private

$test = new Example;

// 下面将得到Example类的单例对象

$test = Example::singleton();

$test->bark();

// 下面将得到Example类的单例对象

$test = Example::singleton();

$test->bark();

// 复制对象将导致一个E_USER_ERROR.

$test_clone = clone $test;

?>

您可能感兴趣的文章:

php设计模式之单例模式的实例代码

学习php设计模式之单例模式

php实现的单例模式的例子

学习php单例模式及应用实例

php单例模式的演示代码

有关php单例模式介绍及例子

php设计模式之单例模式学习

php单例模式的例子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值