https://github.com/gacela-project/gacela
Build modular PHP applications.
https://github.com/gacela-project/gacela
framework gacela library modular php
Last synced: 2 months ago
JSON representation
Build modular PHP applications.
- Host: GitHub
- URL: https://github.com/gacela-project/gacela
- Owner: gacela-project
- License: other
- Created: 2021-03-16T21:03:22.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2026-04-12T14:57:46.000Z (2 months ago)
- Last Synced: 2026-04-12T16:28:47.535Z (2 months ago)
- Topics: framework, gacela, library, modular, php
- Language: PHP
- Homepage: http://gacela-project.com/
- Size: 2.51 MB
- Stars: 133
- Watchers: 6
- Forks: 8
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
## Gacela — build modular PHP applications
Gacela normalizes module boundaries so parts of your application communicate through a single entry point, without leaking internals.
Each module exposes four classes:
- [**Facade**](https://gacela-project.com/docs/facade/) — public API, the only way in
- [**Factory**](https://gacela-project.com/docs/factory/) — creates internal services
- [**Provider**](https://gacela-project.com/docs/provider/) — wires external dependencies
- [**Config**](https://gacela-project.com/docs/config/) — reads project config
## Installation
```bash
composer require gacela-project/gacela
```
## Module structure
```
app/
├── gacela.php
├── config/
└── src/
└── ModuleA/
├── Facade.php
├── Factory.php
├── Provider.php
└── Config.php
```
## Documentation
- [Getting started](docs/getting-started.md)
- [Container configuration](docs/container-configuration.md)
- [Static analysis (PHPStan / Psalm)](docs/static-analysis.md)
- [Module health checks](docs/module-health-checks.md)
- [Opcache preload](docs/opcache-preload.md)
- Full reference: [gacela-project.com](https://gacela-project.com/)
- Examples: [gacela-example](https://github.com/gacela-project/gacela-example)
## Contributing
Report [issues](https://github.com/gacela-project/gacela/issues), share [ideas](https://github.com/gacela-project/gacela/discussions), or open a [pull request](.github/CONTRIBUTING.md).
---
> Inspired by [Spryker](https://github.com/spryker).