AIDE技术官网
AIDEZY.COM

PHP设计模式之单例模式实例代码

AIDE技术网-aidezy.com
PHP设计模式之单例模式实例代码

PHP设计模式之单例模式实例代码

前言:

给大家享一个PHP设计模式之单例模式实例代码,如果对你有帮助就看看吧。

PHP设计模式之单例模式实例代码|前言

 

代码:

<?php 
/**
AIDE技术网: http://www.aidezy.com
**/

// 单例模式

/*
class Single {
protected $rnd;

public function __construct() {
$this->rnd = mt_rand(10000,99999);
}
}

// 外界可能自由的new N次,得到N个对象
$s1 = new Single();
$s2 = new Single();

print_r($s1);
print_r($s2);
*/

/*
// 关键在于 防止住外界来new 
class Single {
protected $rnd;

protected function __construct() {
$this->rnd = mt_rand(10000,99999);
}

public static function getIns() {
return new self();
}
}
*/

// 判断,保证只有一个对象
class Single {
protected $rnd;
protected static $ins = null;

protected function __construct() {
$this->rnd = mt_rand(10000,99999);
}

public static function getIns() {
if(self::$ins === null) {
self::$ins = new self();
}

return self::$ins;
}
}


$s1 = Single::getIns();
$s2 = Single::getIns();

print_r($s1);
print_r($s2);

$s3 = clone $s2;
print_r($s3);

var_dump($s3 === $s2);
var_dump($s1 === $s2);

?>

搜一下

赞(0) 打赏
AIDE技术网-aidezy.com 广告
AIDE技术网-aidezy.com 广告

来都来了!评论一下呗! 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址 (选填)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
切换登录

注册