Организация Domain events с помощью ZF EventManager

236
20 февраля 2017, 19:32

Возможно ли организовать модель доменных событий используя возможности ZF-EventManager?

В общем смысле, проблема заключается в инъекции зависимости от SharedEventManager для объектов домена:

<?php
class Order{
  private $eventManager;
  public function __construct(){
    $this->eventManager = new EventManager;
    $this->eventManager->trigger(new CreateOrderEvent);
  }
}
// Здесь приложение должно иметь возможность перехвата выброшенного события CreateOrderEvent
$order = new Order;

Пример демонстрирует проблему, связанную с недоступностью менеджера событий для регистрации обработчиков на нем.

Возможно аккумулировать все выброшенные объектом события в нем же (либо в менеджере) с последующим повторным выбросом их для обработки приложением:

<?php
$order = new Order;
$order->getEventManager()->attach(...); // Установка обработчиков уровня приложения
$events = $order->getEventManager()->pullEvents();
$app->getEventManager()->trigger($events); // Повторный выброс событий на уровне приложения

Приемлем ли подобный подход, или есть решение проще?

READ ALSO
Деление двух чисел

Деление двух чисел

Есть два input'а, я хочу ввести туда числа и в третьем получить результат деленияГде ошибка? Результат не выводится

277
Как пропускать ненужные индексы?

Как пропускать ненужные индексы?

Он добавляет индекс от нуля и попорядку 1,2,3 и тдтп а если мне надо пропустить индексы 3 5 ,10, 34 ну или ещё какието

289
Работает визуальный редактор на JS?

Работает визуальный редактор на JS?

Как здесь на стаке сделано или многих форумахПишу текст, потом выделяю одно слово и нажимаю кнопку B или добавление ссылки и жирным или ссылкой...

272
Получить JSON ответ

Получить JSON ответ

Работаю с API Yandex

401