setObserverContainer (new SplObjectStorage ()); } function export () { $result = $this->encode (); $this->setExportResult ($result); $this->notify (); return $result; } function import ($data) { $this->decode ($data); } function getName () { $result = get_class ($this); $result = preg_replace ('/^.*_/', '', $result); $result = strtolower ($result); return $result; } function getUniq ($string) { return '_' . substr (md5 ($string), 0, 4); } function attach (SplObserver $SplObserver) { $this->getObserverContainer ()->attach ($SplObserver); } function detach (SplObserver $SplObserver) { $this->getObserverContainer ()->detach ($SplObserver); } function notify () { if ($this->getObserverContainer ()->count()) { foreach ($this->getObserverContainer () as $observer) { $observer->update ($this); } } } function update (SplSubject $SplSubject) { } function setObserverContainer ($observer_container) { $this->observer_container = $observer_container; } function getObserverContainer () { return $this->observer_container; } function setExportResult ($export_result) { $this->export_result = $export_result; } function getExportResult () { return $this->export_result; } function setLive ($is_live) { $this->is_live = $is_live; } function isLive () { return $this->is_live; } }