PHPackages                             porta/psr14-events - 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. [API Development](/categories/api)
4. /
5. porta/psr14-events

ActiveLibrary[API Development](/categories/api)

porta/psr14-events
==================

PortaOne ESPF event handling with PSR-14 dispatch

0.1.0(2y ago)010MITPHP ^7.4|^8.0|^8.1|^8.2|^8.3

Since Jan 3Compare

[ Source](https://github.com/portabilling/psr14-events)[ Packagist](https://packagist.org/packages/porta/psr14-events)[ Docs](https://github.com/portabilling/psr14-event)[ RSS](/packages/porta-psr14-events/feed)WikiDiscussions Synced yesterday

READMEChangelogDependencies (4)Versions (2)Used By (0)

About PortaOne ESPF event handling library with PSR-14 dispatch
===============================================================

[](#about-portaone-espf-event-handling-library-with-psr-14-dispatch)

Purpose
-------

[](#purpose)

This package intended to simplify PortaBilling event handling. Build for composer with PSR-4 autoload and follow PSR-14 Event Dispatcher architecture. It takes PSR-7 Request object as input to create Event, therefore may be integrated to any PSR-based framework. It seems PSR-11 (container) - friendly and a good for autowire, but does not support PSR-11 directly.

It is decoupled from all depenencies, requiring standart PSR interfaces instead of exact implementations. It uses:

- [PSR-7](https://www.php-fig.org/psr/psr-7) standard object Request used
- [PSR-14](https://www.php-fig.org/psr/psr-14) Event Dispatcher, provides specific Event, and ListenerProvider classes, and also a very generic Dispatcher implementation to avoide useless dependencies

Usage
-----

[](#usage)

Try to read and setup [example](https://github.com/portabilling/psr14-events/tree/master/example). More rich docs coming soon!

Please, reference to [PortaBilling supported event types](https://docs.portaone.com/docs/mr105-provisioning-via-webhooks?topic=supported-event-types) for event type names and variables for each type.

Installation
------------

[](#installation)

In the Composer storage. Just add proper require section:

```
    "require": {
        "porta/psr14-events": "^0.1"
    }

```

Please, review the [changelog](https://github.com/portabilling/psr14-events/blob/master/CHANGELOG.MD) before to change used version.

Dependencies
------------

[](#dependencies)

Composer dependencies:

- php: ^7.4|^8.0|^8.1|^8.2|^8.3
- psr/event-dispatcher: ^1.0.0
- psr/http-message: ^2.0

Testing
-------

[](#testing)

Tested with PHPUnit 9.6 on php 7.4 to 8.3, 100% coverage, which does not mean everything will work as intended.

Current testing and compatibility status check on [Github flows](https://github.com/portabilling/psr14-events/actions/workflows/Compatibility.yml)

To test, install in dev mode and use `composer test` command from library root for run all standard modular tests

Manualy tested and used with PortaBilling release MR100.

###  Health Score

22

—

LowBetter than 21% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

912d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/51fb7e1bfe1a741b842ccaffe58a95229f1afa531676dff7d14e61cda27a9ae7?d=identicon)[pavlyuts](/maintainers/pavlyuts)

---

Top Contributors

[![pavlyuts](https://avatars.githubusercontent.com/u/6569739?v=4)](https://github.com/pavlyuts "pavlyuts (21 commits)")

---

Tags

eventapibillingportaoneportastartESPF

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/porta-psr14-events/health.svg)

```
[![Health](https://phpackages.com/badges/porta-psr14-events/health.svg)](https://phpackages.com/packages/porta-psr14-events)
```

###  Alternatives

[symfony/symfony

The Symfony PHP framework

31.4k87.2M2.2k](/packages/symfony-symfony)[openai-php/client

OpenAI PHP is a supercharged PHP API client that allows you to interact with the Open AI API

5.8k28.0M318](/packages/openai-php-client)[algolia/algoliasearch-client-php

API powering the features of Algolia.

69735.1M159](/packages/algolia-algoliasearch-client-php)[telnyx/telnyx-php

Official Telnyx PHP SDK — APIs for Voice, SMS, MMS, WhatsApp, Fax, SIP Trunking, Wireless IoT, Call Control, and more. Build global communications on Telnyx's private carrier-grade network.

35789.4k2](/packages/telnyx-telnyx-php)[mollie/mollie-api-php

Mollie API client library for PHP. Mollie is a European Payment Service provider and offers international payment methods such as Mastercard, VISA, American Express and PayPal, and local payment methods such as iDEAL, Bancontact, SOFORT Banking, SEPA direct debit, Belfius Direct Net, KBC Payment Button and various gift cards such as Podiumcadeaukaart and fashioncheque.

60216.0M85](/packages/mollie-mollie-api-php)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.6M574](/packages/shopware-core)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
