我的代码如下。看起来不错吗?
<?php
class goMongoDB
{
private static $Instance;
public function goMongoDB() {
if ( !isset(self::$Instance) )
{
self::$Instance = new MongoClient();
}
}
public function isConnected()
{
return self::$Instance->connected;
}
}
$MongoClient = new goMongoDB();
print $MongoClient->isConnected();
?>
答案 0 :(得分:1)
不,这不是单例实现。 为什么? 您可以根据需要实例化它。
如何去做?
1 - 防止直接即时
private function __construct(){}
2 - 提供实例化机制
static function getInstance(){
if ( !isset(self::$Instance) ){
self::$Instance = new MongoClient();
}
return self::$Instance;
}
现在你可以得到这样的对象:
$obj = goMongoDB::getInstance();
请注意,单身人士可以使调试成为一种真正的痛苦,所以要小心使用。
希望这有帮助