PHPackages                             guirong/php-event - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. guirong/php-event

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

guirong/php-event
=================

an simple event, listener library of the php

1.0.0(3y ago)0271MITPHPPHP &gt;=5.5.0

Since Apr 15Pushed 3y ago1 watchersCompare

[ Source](https://github.com/GuiRong2969/php-event)[ Packagist](https://packagist.org/packages/guirong/php-event)[ Docs](https://github.com/GuiRong2969/php-event)[ RSS](/packages/guirong-php-event/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

PHP Validate
============

[](#php-validate)

[![License](https://camo.githubusercontent.com/5e2838068ad5a99755c1dfe4d4b1926b3be6bf3092416ce624f9731f65d96398/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f477569526f6e67323936392f7068702d76616c6964617465)](LICENSE)[![Php Version](https://camo.githubusercontent.com/6b1c937fd8302fa5244f57110a06fca4b337ff2dc35f4ff7f984aca01adce294/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344352e352e302d627269676874677265656e)](https://www.php.net/ChangeLog-5.php#PHP_5_5)[![GitHub tag (latest by date)](https://camo.githubusercontent.com/3f5eded00619dc37c7ea354bdec2e6f920849f958db16f11246f45d675071f37/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f7461672f477569526f6e67323936392f7068702d6576656e74)](https://camo.githubusercontent.com/3f5eded00619dc37c7ea354bdec2e6f920849f958db16f11246f45d675071f37/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f7461672f477569526f6e67323936392f7068702d6576656e74)[![Coverage Status](https://camo.githubusercontent.com/a2f9e4c31b2d6266d974d332c86f6b76eea141bc8374db5e36faf30d3841171d/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f477569526f6e67323936392f7068702d6576656e742f62616467652e7376673f6272616e63683d6d6173746572)](https://coveralls.io/github/GuiRong2969/php-event?branch=master)[![GitHub all releases](https://camo.githubusercontent.com/43b4bd50a55bd3394bd141be775cf3f2c4613ef2a2ab3c6ec7abf82aabddfee6/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f477569526f6e67323936392f7068702d6576656e742f746f74616c)](https://camo.githubusercontent.com/43b4bd50a55bd3394bd141be775cf3f2c4613ef2a2ab3c6ec7abf82aabddfee6/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f477569526f6e67323936392f7068702d6576656e742f746f74616c)

一个简洁小巧的php事件监听器。

- 事件系统主要负责应用解耦
- 单个事件可以拥有多个互不依赖的监听器
- 提供了一个简单的观察者实现
- 订阅模式下,事件订阅者是可以在自身内部订阅多个事件的类
- 事件注册 `\Guirong\Event\listen($event,$listener)`，用于 [快速注册事件监听](#event-listen)
- 事件触发 `\Guirong\Event\trigger($service,$event,$payload)`，用于 [分发事件](#event-dispatch)

> 使用助手函数 [`event()`](#event-function)

项目地址
----

[](#项目地址)

- **github**

> **注意：**

- 版本要求 `php >= 5.5.0`

安装
--

[](#安装)

```
composer require guirong/php-event
```

注册事件和监听器
--------

[](#注册事件和监听器)

应用中的 `\Guirong\Event\Event` 服务类为注册所有的事件监听器提供了一个便利的场所。其中， listen 属性包含了所有事件 (键) 以及事件对应的监听器 (值) 的数组。当然，你可以根据应用的需要，添加多个事件到 listen 属性包含的数组中。你可以直接使用此类作为服务提供者，也可以继承它（建议）。 举个例子，让我们来定义一个新的服务提供者，并来添加一个 OrderPayed 事件：

- 配置示例: (*本文档的服务提供者定义为 `\Guirong\Event\Event\EventService`* )

```
