我试图破坏我的单身人士的唯一实例,但无法让它发挥作用。
我知道我不应该明确地调用析构函数而且我应该设置为包含实例的任何var,以便自动调用析构函数。
问题在于我并没有完全控制存储此实例的多个变量...所以我无法将它们全部设置为null:(
现在我应该像调用public kill()
的{{1}}方法一样从类中调用析构函数吗?
我制定了一个解决方法,但我对肮脏的方式不满意。 你知道这样做的最佳做法是什么?
以下是我使用的简化代码:
$this->__destruct();
并获取/创建我执行的实例:<?php
Class MySingleton
{
private static $instance= null;
/**
* Class constructor.
*/
private function __construct()
{
...
}
/**
* Get the only instance of this class.
*
* @return the only instance of this class.
*/
public static function getInstance()
{
if (!isset(self::$instance)) self::$instance = new self();
return self::$instance;
}
/**
* Class destructor.
*/
public function __destruct()
{
debug('destructing instance of '.__CLASS__.'.');
debug($this);
}
}
?>
感谢您宝贵的建议! ;)