class AcsfEventDispatcher in Acquia Cloud Site Factory Connector 8
Same name and namespace in other branches
- 8.2 src/Event/AcsfEventDispatcher.php \Drupal\acsf\Event\AcsfEventDispatcher
AcsfEventDispatcher.
This class defines the base event dispatcher. This will take a specified list of handlers and execute them serially. Any handler has the option to interrupt the execution of the event.
Hierarchy
- class \Drupal\acsf\Event\AcsfEventDispatcher
Expanded class hierarchy of AcsfEventDispatcher
1 file declares its use of AcsfEventDispatcher
- AcsfEventsTest.php in tests/AcsfEventsTest.php 
- Provides PHPUnit tests for the Acsf Events system.
File
- src/Event/ AcsfEventDispatcher.php, line 12 
Namespace
Drupal\acsf\EventView source
class AcsfEventDispatcher {
  /**
   * Constructor.
   */
  public function __construct() {
    $this->running = FALSE;
  }
  /**
   * Allows the interruption of the dispatcher.
   */
  public function interrupt() {
    $this->running = FALSE;
  }
  /**
   * Dispatches a list of event handlers.
   *
   * @param AcsfEvent $event
   *   The AcsfEvent that is being executed.
   */
  public function dispatch(AcsfEvent $event) {
    $this->running = TRUE;
    while ($this->running && ($handler = $event
      ->popHandler('incomplete'))) {
      try {
        // Capture some information about the handler.
        $handler->started = microtime(TRUE);
        $handler
          ->handle();
        $handler->completed = microtime(TRUE);
        $event
          ->pushHandler($handler, 'complete');
      } catch (\Exception $e) {
        $handler->message = sprintf('Class %s handler failed for event %s: %s', get_class($handler), $event->type, $e
          ->getMessage());
        $event
          ->pushHandler($handler, 'failed');
      }
    }
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| AcsfEventDispatcher:: | public | function | Dispatches a list of event handlers. | |
| AcsfEventDispatcher:: | public | function | Allows the interruption of the dispatcher. | |
| AcsfEventDispatcher:: | public | function | Constructor. | 
