php单例模式

<?php /** 单例类 1、只能自己实例化自己 2、不可被复制 3、不可直接实例化,需要通过静态方法来实例并将实例赋予静态变量 目的:减少资源重复 **/ class GetInstance { public $value; static $instance; //静态变量用来存储自身的实例 private function __construct(){} //私有的构造函数,不可直接实例化 static function getinstance()//静态方法实例化自身 { if(!self::$instance instanceof self) //如果该静态变量 不是当前类的实例 { self::$instance = new self; } return self::$instance; } private function __clone(){} //不允许被复制。否则复制后 是相当于新的实例,而不是引用 function test() { $this->value = '1'; //echo('我是单例类的测试方法。。test():'.$this->value); } } //$gi = new GetInstance; //不可直接实例化,构造函数是private $gi = GetInstance :: getinstance(); $gi->value = 5; echo($gi->value); br(); $g2 = GetInstance :: getinstance(); $g2->value = 6; echo('类的引用,所以实例$gi与$g2的value 相同!! : '.$g2->value); br(); //测试clone $g3 = clone($g2); echo($g3->value); br(); $g3->value= 8; echo($g2->value);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值