Amiro.CMS API Reference
Amiro.Ru / Manual
Loading search...

The AMI_Event class

• Introduction

Event manager allows to add/drop event handlers, fire events.

• Class synopsis

AMI_Event {
/* Constants */
// Event handler special module id
const AMI_Event::MOD_ANY =  -1;
// Default event handler priority
const AMI_Event::PRIORITY_DEFAULT =  50;
// High event handler priority
const AMI_Event::PRIORITY_HIGH =  75;
// Low event handler priority
const AMI_Event::PRIORITY_LOW =  25;
/* Methods */
// Adds event handler.
public static addHandler ( string $name, callback $handler, string $handlerModId, [ int $priority = self::PRIORITY_DEFAULT ] ) returns void;
// Drops event handler(s).
public static dropHandler ( [ string $name = '' ], [ mixed $entity = null ], [ string $handlerModId = null ] ) returns void;
// Fires event.
public static fire ( string $name, &$aEvent, string $targetModId ) returns void;
}
Tags:
example Usage example

• Class Constants

MOD_ANY

Event handler special module id

PRIORITY_DEFAULT

Default event handler priority

PRIORITY_HIGH

High event handler priority

PRIORITY_LOW

Low event handler priority

• Class Methods

// Adds event handler.
public static addHandler ( string $name, callback $handler, string $handlerModId, [ int $priority = self::PRIORITY_DEFAULT ] ) returns void;
  • string $name
    Event name
  • callback $handler
    Event handler callback
  • string $handlerModId
    Handler module id or AMI_Event::MOD_ANY
  • int $priority
    Event priority: AMI_Event::PRIORITY_LOW, AMI_Event::PRIORITY_DEFAULT or AMI_Event::PRIORITY_HIGH
To break event handling handler must set $aEvent['_break_event'] to true.

  Example:
  •  // @param  string $name  Event name
  •  // @param  array $aEvent  Event data
  •  // @param  string $handlerModId  Third AMI_Event::addhandler() $handlerModId argument
  •  // @param  string $srcModId  Third AMI_Event::fire() $targetModId argument
  •  // @return array
  •  function eventHandler($namearray $aEvent$handlerModId$srcModId){
  •      $aEvent['var_from_handler'1;
  •      $aEvent['_break_event'true;
  •      return $aEvent;
  •  }
Tags:
example Usage example
// Drops event handler(s).
public static dropHandler ( [ string $name = '' ], [ mixed $entity = null ], [ string $handlerModId = null ] ) returns void;
  • string $name
    Event name
  • mixed $entity
    Object|string (Object or class/function name)
  • string $handlerModId
    Handler module id
  Example:
  •  // drop all 'some_event_name' event handlers
  •  AMI_Event::dropHandler('some_event_name');
  •  
  •  // drop all 'some_event_name' event handlers processing by $object methods only
  •  AMI_Event::dropHandler('some_event_name'$object);
  •  
  •  // drop all event handlers having $handlerModId equals to 'news'
  •  AMI_Event::dropHandler(''null'news');
  •  
  •  // drop all 'some_event_name' event handlers processing by $object and having $handlerModId equals to 'news'
  •  AMI_Event::dropHandler('some_event_name'$object'news');
Tags:
example Usage example
// Fires event.
public static fire ( string $name, &$aEvent, string $targetModId ) returns void;
  • string $name
    Event name
  • array &$aEvent
    Event data
  • string $targetModId
    Target module id
Tags:
example Usage example