【发布时间】:2012-05-15 17:53:26
【问题描述】:
想问一下php中实例化对象的性能和内存使用情况。
在我的应用程序的每个 php 文件中,我都包含一个连接到数据库的文件。
$db->DB::getInstance();
$db->connect('all my credentials');
这是我的 db 类中的 getInstance() 函数。
//singleton database instance
public static function getInstance() {
if (!self::$Instance) {
self::$Instance = new DB();
}
return self::$Instance;
}
目前一切都很好。但我担心性能问题,如能否改进、可能存在缺陷等。
我研究并发现单例实例可以帮助节省内存。如果它已经被实例化,它将重用该对象。我说的对吗?
我的确切问题是
例如如果我有 10 个用户访问脚本,这是否意味着该对象将被实例化 10 次?发生这种情况时,我的内存使用量会增加 10 倍吗? -> 这就是我感兴趣的地方
感谢任何专家的建议。
【问题讨论】:
-
(相关) Who needs Singletons
-
但是,如果它是
mysqli类,则使用相同的实例可能会阻止创建新连接。这取决于您的类构造函数在做什么。但无论如何它与创建对象本身无关。
标签: php performance memory