|null */ private $destructorCallbacks = null; /** @phpstan-return ObjectSet<\Closure() : void> */ public function getDestructorCallbacks() : ObjectSet{ return $this->destructorCallbacks === null ? ($this->destructorCallbacks = new ObjectSet()) : $this->destructorCallbacks; } public function __destruct(){ if($this->destructorCallbacks !== null){ foreach($this->destructorCallbacks as $callback){ $callback(); } } } }