在静态类中调用初始化方法以避免使用自动加载器是否可以接受?

时间:2016-12-22 18:24:49

标签: php oop constructor static init

假设我有一个需要一个应该有静态方法的辅助类的情况,但这些方法需要一个静态对象来操作。

我宁愿让帮助器自包含,所以我只需要包含该文件。或者,可以将初始化调用添加到某种自动加载器,但我宁愿避免这种情况。

考虑到你不能在这里使用__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;
  }
}

0 个答案:

没有答案