假设我有一个需要一个应该有静态方法的辅助类的情况,但这些方法需要一个静态对象来操作。
我宁愿让帮助器自包含,所以我只需要包含该文件。或者,可以将初始化调用添加到某种自动加载器,但我宁愿避免这种情况。
考虑到你不能在这里使用__construct
方法,因为该类从未实例化,这是否可以接受?
class HelperClass
{
private static $property;
private static function init()
{
if (!isset(self::$property))
self::$property = new stdClass;
}
static function addSomething($key, $value)
{
self::$property->$key = $value;
}
static function getObject()
{
if (isset(self::$property))
return self::$property;
else
return new stdClass;
}
}