123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- <?php
- /* For licensing terms, see /license.txt */
- /**
- * This file contains all Hook interfaces and their relation.
- * They are used for Hook classes
- * @package chamilo.library.hook
- */
- /**
- * Interface HookEventInterface
- */
- interface HookEventInterface
- {
- /**
- * Attach an HookObserver
- * @link http://php.net/manual/en/splsubject.attach.php
- * @param \HookObserverInterface| $observer <p>
- * The <b>HookObserver</b> to attach.
- * </p>
- * @return void
- */
- public function attach(HookObserverInterface $observer);
- /**
- * Detach an HookObserver
- * @link http://php.net/manual/en/splsubject.detach.php
- * @param \HookObserverInterface| $observer <p>
- * The <b>HookObserver</b> to detach.
- * </p>
- * @return void
- */
- public function detach(HookObserverInterface $observer);
- /**
- * Return the singleton instance of Hook event.
- * @return static
- */
- public static function create();
- /**
- * Return an array containing all data needed by the hook observer to update
- * @return array
- */
- public function getEventData();
- /**
- * Set an array with data needed by hooks
- * @param array $data
- * @return $this
- */
- public function setEventData(array $data);
- /**
- * Return the event name refer to where hook is used
- * @return string
- */
- public function getEventName();
- /**
- * Clear all hookObservers without detach them
- * @return mixed
- */
- public function clearAttachments();
- /**
- * Detach all hook observers
- * @return $this
- */
- public function detachAll();
- }
|