PHPackages                             mikejw/empathy - 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. mikejw/empathy

ActiveLibrary[Framework](/categories/framework)

mikejw/empathy
==============

Empathy MVC

v4.3.3(3mo ago)32.0k1MITPHPPHP &gt;=8.4.0CI failing

Since Nov 6Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/mikejw/empathy)[ Packagist](https://packagist.org/packages/mikejw/empathy)[ Docs](https://empathy.sh)[ RSS](/packages/mikejw-empathy/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependencies (9)Versions (62)Used By (1)

Empathy PHP Framework
=====================

[](#empathy-php-framework)

 [![Empathy logo](https://raw.githubusercontent.com/mikejw/empathy/master/eaa/public_html/img/empathy.png)](https://raw.githubusercontent.com/mikejw/empathy/master/eaa/public_html/img/empathy.png)

[empathy.sh](https://empathy.sh)

Welcome to the Empathy (micro MVC) PHP Framework project. The project has existed since 2008 and is geared towards allowing anyone to create PHP web applications, with following properties:

- Strict MVC pattern
- Modular compatible libraries
- Lightweight
- Fast
- Extensible

Documentation
-------------

[](#documentation)

See [getting-started.md](./docs/getting-started.md).

Licence
-------

[](#licence)

Empathy and officially released extension libraries are now distributed under an MIT license. See [LICENSE](./LICENSE).

Versioning &amp; stability policy
---------------------------------

[](#versioning--stability-policy)

Empathy follows semantic versioning. Early releases (v1.x → v4.x) reflect a fast-evolving design phase of the framework. Particularly the interplay beteen models and the ORM as it was security hardened. Plus the changes required for PHP 8.4 support. As the API matured, each breaking change was given its own major release.

With this history, major version bumps should not be seen as instability or sloppy development — but as honest signposts of sound, considered evolution.

Going forward (from v5.0.0 onward):

- Breaking changes will be batched into less-frequent major releases.
- Where possible, functionality will first be deprecated in a release, and only removed in the next major.
- Minor and patch versions will avoid breaking existing public APIs.
- Each major release will include a clear upgrade guide (e.g. a file like UPGRADING-5.0.md) with before/after code examples for users.
- Users who prefer stability over latest features can safely pin to a major version (e.g. "vendor/empathy": "^4.0") and skip new majors until explicitly ready.

Testing the code itself
-----------------------

[](#testing-the-code-itself)

If you want to run tests from a version of Empathy that has been checked out in [base-docker](/docs/base-docker/)connect to the app container first, change to the empathy vendor directory and run composer install:

```
docker exec -it -u www-data app /bin/bash
cd ./vendor/mikejw/empathy/
php ../../../composer.phar install --prefer-source

```

Within the 'Empathy Architype Application' config file (`/eaa/config.yml`), set: `doc_root` to the full location of the `eaa` directory, (which is used for dummy configuration) e.g:

```
---
doc_root: /var/www/project/vendor/mikejw/empathy/eaa

```

For the `elibs` plugin configuration (within `/eaa/config.yml`), set testing mode to 1. (This makes sure that the elibs repo containing Smarty can be found.) i.e:

```
plugins:
  -
    name: ELibs
    version: 1.0
    config: '{ "testing": 1 }'

```

Change to the `t` directory from the root of the empathy repo and run phpunit:

```
cd /var/www/project/vendor/mikejw/empathy/t
php ../vendor/bin/phpunit .

```

###  Health Score

58

—

FairBetter than 98% of packages

Maintenance85

Actively maintained with recent releases

Popularity22

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity95

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 99.9% 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 ~99 days

Recently: every ~15 days

Total

48

Last Release

119d ago

Major Versions

v0.10.0 → v1.0.02025-04-22

v1.4.1 → v2.0.02025-05-16

v2.1.2 → v3.0.02025-05-23

v3.1.1 → v4.0.02025-05-28

PHP version history (5 changes)0.9.5PHP &gt;=5.3.2

0.9.7PHP &gt;=5.3.0

v1.0.0PHP &gt;=8.1.0

v3.1.1PHP ^8.1.0 &lt;8.2

v4.0.0PHP &gt;=8.4.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/715d4159043b7e1e6daa0f1717d396c480616e1db9aee2d1c4738d69217cbd37?d=identicon)[mikejw](/maintainers/mikejw)

---

Top Contributors

[![mikejw](https://avatars.githubusercontent.com/u/115110?v=4)](https://github.com/mikejw "mikejw (836 commits)")[![gitter-badger](https://avatars.githubusercontent.com/u/8518239?v=4)](https://github.com/gitter-badger "gitter-badger (1 commits)")

---

Tags

frameworkmvc

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/mikejw-empathy/health.svg)

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

###  Alternatives

[openpsa/midcom

Content-oriented Model-View-Controller framework for PHP

293.2k1](/packages/openpsa-midcom)

PHPackages © 2026

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