setUsersRegistry(); $this->observers = new SplObjectStorage(); } /** * @desc will attach an observer to the observer storage * @param SplObserver $observer * @return void */ public function attach(SplObserver $observer): void { $this->observers->attach($observer); } /** * @desc will detach an observer from the observer storage * @param SplObserver $observer * @return void */ public function detach(SplObserver $observer): void { $this->observers->detach($observer); } /** * @desc will notify all observers * @return void */ public function notify(): void { foreach ($this->observers as $observer) { $observer->update($this); } } /** * @desc will return the user registry object from the users.ini configuration * @return object */ protected static function getUsersRegistry(): object { return self::$usersRegistry; } /** * @desc setter for the user Registry */ protected function setUsersRegistry(): void { self::$usersRegistry = Registry::getInstance()->loadModuleConfigByName(self::CONFIG_MODULE_NAME); } }