Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/main/inc/lib/hook/interfaces/base/HookEventInterface.php

72 lines
1.6 KiB

<?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();
}