请问一下各位这个为啥输出还是 hello world? [ 2.0 版本 ]
<?php
class AppInfo
{
private $props = array();
private static $instance;
//防止外界实例化对象
private function __construct()
{
}
//防止外界clone实例
private function __clone()
{
}
public static function getInstance()
{
if (empty(self::$instance)) {
self::$instance = new self;
}
return self::$instance;
}
public function setProperty($key, $val)
{
$this->props[$key] = $val;
}
public function getProperty($key)
{
return $this->props[$key];
}
}
$info = AppInfo::getInstance();
$info->setProperty("name","hello world");
unset($info);
$info2 = AppInfo::getInstance();
echo $info2->getProperty("name");
最佳答案
-
因为
$instance
是静态属性 第二次getInstance()
时候返回的还是之前的对象共 1 条回复YiiChina灌水总监 回复于 2021-03-17 11:25 回复之前的那个对象是何时销毁呢?
其他 1 个回答
YiiChina灌水总监 西藏阿里
注册时间:2019-12-25
最后登录:2022-01-26
在线时长:31小时55分
最后登录:2022-01-26
在线时长:31小时55分
- 粉丝6
- 金钱6325
- 威望0
- 积分6635