返回单例模式练习题...登陆

单例模式练习题

韩春晖2019-03-31 11:07:49338

<?php

//hubby类仅允许被实例化一次


class Hubby{

//1.new 来创建类实例

//2.clone 来克隆当前类的实例

private function __construct(){}//构造器私有化

private function __clone(){}//克隆私有化


//创建类的内部静态属性,用于保存类的唯一实例

protected static $instance = null;


//创建一个外部接口,创建并返回当前类的唯一实例


public static function getInstance(){

if (is_null(static::$instance)) {

static::$instance = new static();

}

return static::$instance;

}

}

 //从外部实例化Hubby类

 $Hubby1 = Hubby::getInstance();

 $Hubby2 = Hubby::getInstance();


 echo ($Hubby1 instanceof Hubby )?'是':'不是';

 echo "<br>";

 echo ($Hubby2 instanceof Hubby )?'是':'不是';

 echo "<br>";

 echo ($Hubby1 ===$Hubby2) ? '完全相等':'不相等';

 echo "<br>";

 var_dump($Hubby1,$Hubby2);

?>


最新手记推荐

• 用composer安装thinkphp框架的步骤• 省市区接口说明• 用thinkphp,后台新增栏目• 管理员添加编辑删除• 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消回复发送