Gacela normalizes module boundaries so parts of your application communicate through a single entry point, without leaking internals.
Each module exposes four classes:
- Facade — public API, the only way in
- Factory — creates internal services
- Provider — wires external dependencies
- Config — reads project config
composer require gacela-project/gacelaapp/
├── gacela.php
├── config/
└── src/
└── ModuleA/
├── Facade.php
├── Factory.php
├── Provider.php
└── Config.php
- Getting started
- Container configuration
- Static analysis (PHPStan / Psalm)
- Module health checks
- Opcache preload
- Full reference: gacela-project.com
- Examples: gacela-example
Report issues, share ideas, or open a pull request.
Inspired by Spryker.