你可以在PHP中有静态类,但他们不会自动调用构造函数(如果你尝试调用self :: __ construct(),你会得到一个错误)。
因此,你必须创建一个initialize()函数,并在每个方法中调用它:
class Hello
{
private static $greeting = 'Hello';
private static $initialized = false;
private static function initialize()
{
if (self::$initialized)
return;
self::$greeting .= ' There!';
self::$initialized = true;
}
public static function greet()
{
self::initialize();
echo self::$greeting;
}
}
Hello::greet(); // Hello There!
?>