php单例设计

本文详细介绍了PHP中单例模式的实现方法,通过创建静态成员变量和私有构造函数来确保对象的唯一性,并提供了如何访问和使用单例实例的方法。同时,解释了为何禁止对象克隆以维护实例的唯一性和状态一致性。

class Danli {

 

//保存类实例的静态成员变量

private static $_instance;

 

//private标记的构造方法

private function __construct(){

echo 'This is Constructed method;';

}

 

//创建__clone方法防止对象被复制克隆

public function __clone(){

trigger_error('Clone is not allow!',E_USER_ERROR);

}

 

//单例方法,用于访问实例的公共的静态方法

public static function getInstance(){

if(!(self::$_instance instanceof self)){

self::$_instance new self;

}

return self::$_instance;

}

 

public function test(){

echo '调用方法成功';

}

 

}

 

//用new实例化private标记构造函数的类会报错

//$danli new Danli();

 

//正确方法,用双冒号::操作符访问静态方法获取实例

$danli Danli::getInstance();

$danli->test();

 

//复制(克隆)对象将导致一个E_USER_ERROR

$danli_clone clone $danli; 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值