PHP Classes

File: vendor/evenement/evenement/doc/00-intro.md

Recommend this page to a friend!
  Classes of butani kartik   PHP WebSockets Server Example   vendor/evenement/evenement/doc/00-intro.md   Download  
File: vendor/evenement/evenement/doc/00-intro.md
Role: Auxiliary data
Content type: text/markdown
Description: Auxiliary data
Class: PHP WebSockets Server Example
Example to interact with a server using WebSockets
Author: By
Last change:
Date: 2 years ago
Size: 1,290 bytes
 

Contents

Class file image Download

Introduction

Événement is is French and means "event". The événement library aims to provide a simple way of subscribing to events and notifying those subscribers whenever an event occurs.

The API that it exposes is almost a direct port of the EventEmitter API found in node.js. It also includes an "EventEmitter". There are some minor differences however.

The EventEmitter is an implementation of the publish-subscribe pattern, which is a generalized version of the observer pattern. The observer pattern specifies an observable subject, which observers can register themselves to. Once something interesting happens, the subject notifies its observers.

Pub/sub takes the same idea but encapsulates the observation logic inside a separate object which manages all of its subscribers or listeners. Subscribers are bound to an event name, and will only receive notifications of the events they subscribed to.

TLDR: What does evenement do, in short? It provides a mapping from event names to a list of listener functions and triggers each listener for a given event when it is emitted.

Why do we do this, you ask? To achieve decoupling.

It allows you to design a system where the core will emit events, and modules are able to subscribe to these events. And respond to them.