init(); } // end if; return static::$instance; } // end get_instance; /** * Runs only once, at the first instantiation of the Singleton. * * @since 2.0.0 * @return void */ public function init() { $this->has_parents() && method_exists(get_parent_class($this), 'init') && parent::init(); } // end init; /** * Check if the current class has parents. * * @since 2.0.11 * @return boolean */ public function has_parents() { return (bool) class_parents($this); } // end has_parents; } // end trait Singleton;