首先,我了解PHP
的基础知识,但我无法理解事情是如何运作的。我有以下代码,允许用户通过启动函数hooksInit()
通过函数init()
为其帐户分配密码。我需要知道为什么使用静态变量。我已经读过,如果没有这个静态变量,会有很多来自数据库的请求,但我无法理解为什么会有来自数据库的大量请求。如果可能,请保持简单。
class WPHawy_CRP {
private static $_instance = null;
/*
* The Constructor.
*/
public static function init() {
if ( null == self::$_instance ) {
self::$_instance = new self;
self::$_instance->hooksInit();
}
return self::$_instance;
}
答案 0 :(得分:1)
关键字“static”表示它是一个可以在不实例化类的情况下使用的函数。
例如:WPHawy_CRP::init()
变量$_instance
也是静态的,目的是在静态函数中使用。
具体来说,此代码遵循名为 “Singleton” 的特定设计模式,并允许您确保只有一个类的实例。
答案 1 :(得分:0)
这是单例模式的简单实现。请参阅示例this question。此模式的主要优点是只允许在Web应用程序中使用一个对象实例。在数据库连接期间广泛使用此模式,我们希望在整个Web应用程序中只共享一个数据库连接。