PHPackages                             ems/framework - 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. [Framework](/categories/framework)
4. /
5. ems/framework

ActiveLibrary[Framework](/categories/framework)

ems/framework
=============

A framework agnostic php library which provides the basics for cmsable and other frameworks

v0.5.3(1y ago)114.7k↑13.3%1[10 issues](https://github.com/mtils/php-ems/issues)[4 PRs](https://github.com/mtils/php-ems/pulls)7MITPHPPHP &gt;=8.2.0

Since Sep 24Pushed 1y ago1 watchersCompare

[ Source](https://github.com/mtils/php-ems)[ Packagist](https://packagist.org/packages/ems/framework)[ RSS](/packages/ems-framework/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (25)Versions (63)Used By (7)

Entity Management System
========================

[](#entity-management-system)

[![Build Status](https://camo.githubusercontent.com/9e7da4f3cb9f57705b652d1dbe621deeadcbc349c456815e2970b343cce8df46/68747470733a2f2f7472617669732d63692e6f72672f6d74696c732f7068702d656d732e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/mtils/php-ems)[![Coverage Status](https://camo.githubusercontent.com/d901b5abda84621996639c8bf06d0acdffe2566ad6af6087c8746eb6a33ab563/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f6d74696c732f7068702d656d732f62616467652e7376673f6272616e63683d6d6173746572)](https://coveralls.io/github/mtils/php-ems?branch=master)[![Latest Stable Version](https://camo.githubusercontent.com/f78a2c59782309c16adbd8dc79fe664b0def9aaaa949a0aa26f42a1f64c94ca5/68747470733a2f2f706f7365722e707567782e6f72672f656d732f6672616d65776f726b2f762f737461626c65)](https://packagist.org/packages/ems/framework)[![Total Downloads](https://camo.githubusercontent.com/747ae3de9b8ab5215f4f0f8227c34c5a5a3ed2d107e0723af9a95f165988f4f0/68747470733a2f2f706f7365722e707567782e6f72672f656d732f6672616d65776f726b2f646f776e6c6f616473)](https://packagist.org/packages/ems/framework)[![License](https://camo.githubusercontent.com/9ce7d2d9eaf05427c25f1d32aa280d11a493c5803053caff135cdc3f01826941/68747470733a2f2f706f7365722e707567782e6f72672f656d732f6672616d65776f726b2f6c6963656e7365)](https://packagist.org/packages/ems/framework)

The entity management system is a collection of interfaces for common software development tasks. Its main focus is to provide architectural solutions by common interfaces and patterns to ensure a maximum maintainability in bigger software projects.

EMS is build to be used on top of other frameworks like laravel, symfony or zend. The most implementations have no framework dependency but EMS is not meant to be used alone.

EMS ensures that you rely as little as possible on any external library, even on EMS itself. One principle is that only interface methods in EMS are public and no additional methods are visible. To ensure that, a lot of interfaces have planned hooks (like Cache::onAfter('invalidate', callable $do)) to ensure its extendability without the need for inheritance or code duplication.

The state of its packages
-------------------------

[](#the-state-of-its-packages)

Currently this package could be seen as in beta phase. Almost all of my customer applications are based on cmsable, which is currently ported to ems. So the code works in big and stable applications. (Big means with for example 2 Million users/month) But the interfaces are currently changing. All features are developed in a predefined chain of actions:

1. Requirement specification
2. Technical Specification
3. Implementation
4. Release
5. Documentation.

So if a package is [documented](https://github.com/mtils/php-ems/wiki) it can be considered as stable.

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity28

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity80

Battle-tested with a long release history

 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

Every ~58 days

Recently: every ~193 days

Total

57

Last Release

599d ago

PHP version history (7 changes)v0.1.0PHP &gt;=5.4.0

v0.1.9.2PHP &gt;=5.5.0

v0.3.1.3PHP &gt;=5.6.0

v0.3.3.0PHP &gt;=7.0.0

0.4.0PHP &gt;=7.1.0

v0.4.3PHP &gt;=7.2.0

v0.5.0PHP &gt;=8.2.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/99acf76522a71f6ac363efaab2bec34dce2f74d3d82f1cb4680049dc4ef37cb7?d=identicon)[mtils](/maintainers/mtils)

---

Top Contributors

[![mtils](https://avatars.githubusercontent.com/u/2744124?v=4)](https://github.com/mtils "mtils (595 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/ems-framework/health.svg)

```
[![Health](https://phpackages.com/badges/ems-framework/health.svg)](https://phpackages.com/packages/ems-framework)
```

###  Alternatives

[symfony/symfony

The Symfony PHP framework

31.3k86.3M2.2k](/packages/symfony-symfony)[cakephp/cakephp

The CakePHP framework

8.8k18.5M1.6k](/packages/cakephp-cakephp)[silverstripe/framework

The SilverStripe framework

7213.5M2.5k](/packages/silverstripe-framework)[neos/flow

Flow Application Framework

862.0M451](/packages/neos-flow)[cakephp/authentication

Authentication plugin for CakePHP

1153.6M67](/packages/cakephp-authentication)[contao/core-bundle

Contao Open Source CMS

1231.6M2.4k](/packages/contao-core-bundle)

PHPackages © 2026

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