mikejw / empathy
Empathy MVC
Installs: 1 968
Dependents: 1
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/mikejw/empathy
Requires
- php: >=8.4.0
- mikejw/elibs: ^2
- monolog/monolog: ^2.5.0
- mustangostang/spyc: 0.6.3
- php-di/php-di: ^7.0
- wp-cli/php-cli-tools: dev-master
Requires (Dev)
- mockery/mockery: ^1.3.0
- nelmio/alice: dev-2.x-dev
- phpunit/phpunit: ^8
- squizlabs/php_codesniffer: ^3.7.2
- dev-master
- v4.3.1
- v4.3.0
- v4.2.6
- v4.2.5
- v4.2.4
- v4.2.3
- v4.2.2
- v4.2.1
- v4.2.0
- v4.1.3
- v4.1.2
- v4.1.1
- v4.1.0
- v4.0.5
- v4.0.4
- v4.0.3
- v4.0.2
- v4.0.1
- v4.0.0
- v3.1.1
- v3.1.0
- v3.0.0
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.2
- v2.0.1
- v2.0.0
- v1.4.1
- v1.4.0
- v1.3.1
- v1.3.0
- v1.2.0
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.0
- v0.10.0
- 0.9.8
- 0.9.7
- 0.9.6
- 0.9.5.2
- 0.9.5.1
- 0.9.5
- dev-develop
- dev-bootstrap4
- dev-di
- dev-dbtests
- dev-unittests
- dev-spike-refactored-json-view
- dev-release-0.9.6
- dev-gos_branch
- dev-hotfix-0.9.5.1
- dev-release-0.9.5
- dev-pearfix
- dev-TRY-MJW-composer
This package is auto-updated.
Last update: 2025-12-12 12:45:38 UTC
README
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
See getting-started.md.
Licence
Empathy and officially released extension libraries are now distributed under an MIT license. See LICENSE.
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
If you want to run tests from a version of Empathy that has been checked out in 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 .
