为了避免同一个类被多次实例化,可以基类里添加这个方法 // 创建一个用来实例化对象的方法 public static function getInstance() { $name = get_called_class(); if (!isset(self::$instance[$name]) || (self::$instance[$name] === NULL)) { self::$instance[$name] = new $name(); } return self::$instance[$name]; }
然后子类调用父类的方法
/** * @return CustomerBalanceLogService //这边加return便于引用跳转查找 */ public static function getInstance() { return parent::getInstance(); }