perfectin/domain

用于处理域事件的TYPO3 Flow包

安装: 11

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:typo3-flow-framework

dev-master 2014-06-26 21:06 UTC

This package is not auto-updated.

Last update: 2024-09-14 15:27:14 UTC


README

PerfectIn.Domain是支持域事件的TYPO3.Flow包。

  • 无依赖关系的事件发布
  • 无依赖关系的事件订阅

触发域事件


use PerfectIn\App\Domain\Event as Event;

function doSomething($something) {
 	$event = new Event\SomethingHappenedEvent($something);
s}

域事件

  • 需要标注 @PerfectIn\Domain\Annotations\Event
  • 标注选项:publish => 在构造后自动发布事件(默认=true)
  • 标注选项:persist => 在构造后自动持久化事件(待定!)(默认=false)

namespace PerfectIn\App\Domain\Event;

use PerfectIn\Domain\Annotations as Domain;

/**
 * something happened event
 * 
 * @Domain\Event
 */
class SomethingHappenedEvent  {

}

示例:订阅域事件

  • 需要标注 @PerfectIn\Domain\Annotations\Subscribe("classnameOfDomainEvent")

use PerfectIn\Domain\Annotations as Domain;
use PerfectIn\App\Domain\Event as Event;

/**
 * @Domain\Subscribe("PerfectIn\App\Domain\Event\SomethingHappenedEvent")
 * @param Event\SomethingHappenedEvent $somethingHappenedEvent
 */
public function logSomethingHappened(Event\SomethingHappenedEvent $somethingHappenedEvent) {

}