我只是在vb.net工作了很久之后才开始潜心于php。PHP Singleton:没有举办实例
我想要写为singleon在我的web应用程序运行时,这里的代码记录器类:
class cLog{
private $data = NULL;
static private $instance = NULL;
static public function getInstance(){
if(self::$instance == NULL){
echo "empty!";
self::$instance = new cLog();
}
return self::$instance;
}
private function __construct(){
}
private function __clone(){
}
public function getData(){
return self::getInstance()->data;
}
public function trace($o){
self::getInstance()->data[] = $o;
}
}
我想到的是,因为我是做多次打电话给堵塞我的应用程序的页面之间切换:: trace()方法,数据数组增加,并且它充满了所有的痕迹。但是我得到的是:每当我运行一个页面时,$ instance都是null,因此对象重新启动(如您所见,我在实例getter中放置了一个回显“空行”:它每次显示)
I想有什么东西我误解的PHP应用程序生命周期....
这里有一个使用示例:
cLog::getInstance()->trace("hello world");
$logs = cLog::getInstance()->getData();
感谢
这是一个很好的建议,但我的purpouse是与php的功能联系。如果我开始复制代码,我相信我会发现自己陷入麻烦,调试一些脚本,我甚至不知道它们是如何工作的。 也许我会看看并获得灵感,但是我的课程中的真正问题(因此,我的问题)是我不明白我不再用.NET开发! – balanza 2010-02-22 14:57:22