ems/framework

A framework agnostic php library which provides the basics for cmsable and other frameworks
15,934 1
Install
composer require ems/framework
Latest Version:v0.5.3
PHP:>=8.2.0
License:MIT
Last Updated:Jan 8, 2025
Links: GitHub  ·  Packagist
Maintainer: mtils

Entity Management System

Build Status Coverage Status Latest Stable Version Total Downloads License

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

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 it can be considered as stable.

Related Packages

doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

634,760,849 9,707
laravel/framework

The Laravel Framework.

584,532,650 34,931
laravel/tinker

Powerful REPL for the Laravel framework.

493,838,477 7,443
laravel/serializable-closure

Laravel Serializable Closure provides an easy and secure way to serialize closur...

408,553,772 609
nunomaduro/collision

Cli error handling for console/command-line PHP applications.

387,976,821 4,658