<?php

namespace xmvc\event;

/**
 * 事件基类
 */
class BaseEvent
{
    /** 事件停止传播标记 */
    private $propagationStopped = false;
    /** 事件共享数据 */
    private $sharedData = [];

    /** 是否已停止了事件传播 */
    public function isPropagationStopped(): bool
    {
        return $this->propagationStopped;
    }

    /** 停止事件传播 */
    public function stopPropagation(): void
    {
        $this->propagationStopped = true;
    }

    /** 获取事件共享数据 */
    public function getSharedData(): array
    {
        return $this->sharedData;
    }

    /** 设置事件共享数据 */
    public function setSharedData(array $data): void
    {
        $this->sharedData =  $data;
    }
}
