ddouggs/event_manager
Composer 安装命令:
composer require ddouggs/event_manager
包简介
Dota o sistema PHP do gerênciamento de eventos nomeados
README 文档
README
Sistema simples de gerenciamento de eventos e observadores em PHP utilizando o padrão Observer.
A classe EventManager permite:
- Registrar eventos
- Adicionar observadores (observers)
- Notificar listeners
- Registrar reações customizadas
- Recuperar eventos registrados
- Remover observers
- Listar observers ativos
Estrutura
namespace event_manager; use event_manager\Observers; abstract class EventManager
A classe utiliza um array estático para armazenar todos os eventos registrados:
public static $events = array();
Métodos Disponíveis
add()
Registra um novo evento ou adiciona um observer a um evento existente.
Assinatura
EventManager::add($name, $observer = null);
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
$name |
string | Nome do evento |
$observer |
object | Observer opcional |
Exemplo
EventManager::add('user.created');
Com observer:
EventManager::add('user.created', new UserObserver());
record()
Registra uma reação personalizada para um evento.
Assinatura
EventManager::record($name, ReactionsInterface $reaction);
Exemplo
EventManager::record('user.created', new UserReaction());
retrieve()
Recupera um evento registrado.
Assinatura
EventManager::retrieve($name);
Retorno
- Objeto do evento
nullcaso não exista
Exemplo
$event = EventManager::retrieve('user.created');
exists()
Verifica se um evento existe.
Assinatura
EventManager::exists($name);
Retorno
true | false
Exemplo
if (EventManager::exists('user.created')) { // evento existe }
attach()
Adiciona um observer a um evento existente.
Assinatura
EventManager::attach($name, $observer);
Exemplo
EventManager::attach('user.created', new UserObserver());
deattach()
Remove um observer de um evento.
Assinatura
EventManager::deattach($name, $index);
Exemplo
EventManager::deattach('user.created', 'UserObserver');
notify()
Notifica todos os observers registrados para o evento.
Assinatura
EventManager::notify($name, &$paramn);
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
$name |
string | Nome do evento |
$paramn |
object | Objeto enviado aos observers |
Exemplo
$user = new stdClass(); $user->name = 'John'; EventManager::notify('user.created', $user);
clear()
Remove todos os observers de um evento.
Assinatura
EventManager::clear($name);
Exemplo
EventManager::clear('user.created');
keys()
Lista todos os observers registrados no evento.
Assinatura
EventManager::keys($name);
Exemplo
$list = EventManager::keys('user.created');
Exemplo Completo
Criando um Observer
class UserObserver { public function user_created($user) { echo "Usuário criado: {$user->name}"; } }
Registrando Evento
EventManager::add('user_created');
Adicionando Observer
EventManager::attach('user_created', new UserObserver());
Disparando Evento
$user = new stdClass(); $user->name = 'Maria'; EventManager::notify('user_created', $user);
Fluxo Básico
Evento → Observers → Notify → Reações
Dependências
Esta classe depende de:
ObserversReactionsInterface
Licença
A Licença Apache 2.0 é uma licença de software de código aberto permissiva e popular. Ela permite o uso, modificação, distribuição e comercialização do software, inclusive em projetos fechados, desde que mantenha os créditos de autoria, inclua uma cópia da licença e relate as alterações feitas.
ddouggs/event_manager 适用场景与选型建议
ddouggs/event_manager 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 13 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 04 月 01 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 ddouggs/event_manager 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 ddouggs/event_manager 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 13
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 16
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Apache-2.0
- 更新时间: 2026-04-01