gacela-project / gacela
Gacela helps you separate your project into modules
Fund package maintenance!
1.13.0
2026-04-15 06:41 UTC
Requires
- php: >=8.1
- gacela-project/container: ^0.8
Requires (Dev)
- ergebnis/composer-normalize: ^2.50
- friendsofphp/php-cs-fixer: ^3.95
- infection/infection: ^0.29
- phpbench/phpbench: ^1.4
- phpmetrics/phpmetrics: ^2.9
- phpstan/phpstan: ^1.12
- phpstan/phpstan-strict-rules: ^1.6
- phpunit/phpunit: ^10.5
- psalm/plugin-phpunit: ^0.19.5
- rector/rector: ^1.2
- symfony/console: ^6.4
- symfony/var-dumper: ^6.4
- vimeo/psalm: ^6.16
Suggests
- gacela-project/gacela-env-config-reader: Allows to read .env config files
- gacela-project/gacela-yaml-config-reader: Allows to read yml/yaml config files
- gacela-project/phpstan-extension: A set of phpstan rules for Gacela
- symfony/console: Allows to use vendor/bin/gacela script
- dev-main
- 1.13.0
- 1.12.0
- 1.11.0
- 1.10.0
- 1.9.1
- 1.9.0
- 1.8.1
- 1.8.0
- 1.7.1
- 1.7.0
- 1.6.0
- 1.5.0
- 1.4.0
- 1.3.0
- 1.2.0
- 1.1.1
- 1.1.0
- 1.0.1
- 1.0.0
- 0.32.0
- 0.31.0
- 0.30.1
- 0.30.0
- 0.29.0
- 0.28.0
- 0.27.0
- 0.26.0
- 0.25.0
- 0.24.0
- 0.23.1
- 0.23.0
- 0.22.0
- 0.21.0
- 0.20.0
- 0.19.0
- 0.18.1
- 0.18.0
- 0.17.2
- 0.17.1
- 0.17.0
- 0.16.0
- 0.15.0
- 0.14.0
- 0.13.0
- 0.12.0
- 0.11.0
- 0.10.0
- 0.9.0
- 0.8.0
- 0.7.0
- 0.6.0
- 0.5.0
- 0.4.0
- 0.3.0
- 0.2.0
- 0.1.0
- dev-docs/rfc-0001-amend-alias
- dev-docs/rfc-0001-revision
- dev-feat/scoped-cache
- dev-ci/remove-mutation-testing
- dev-ref/merged-config-cache-on-filecache
- dev-feat/health-check-provider
- dev-feat/file-cache-primitive
- dev-feat/container-fixture-trait
- dev-feat/handler-registry
- dev-docs/inject-symfony-interop-rfc
- dev-feat/cacheable-dx-improvements
- dev-fix/mutation-ci-php-parser
- dev-docs/tighten-readme-and-docs
- dev-feat/phpstan-module-boundary-rules
- dev-test/kill-mutants
- dev-feat/debug-modules
- dev-feat/debug-dependencies
- dev-perf/deeper-runtime
- dev-perf/dx-low-hanging
- dev-perf/classname-finder-warmup
- dev-perf/merged-config-cache
- dev-fix/php81-compatibility
- dev-feat/type-safety-and-boundaries
- dev-feat/developer-commands
- dev-feat/deprecation-tracking
- dev-feat/module-templates
- dev-feat/testing-infrastructure
- dev-feat/container-compiler
- dev-feat/event-driven-modules
- dev-codex/find-and-fix-vulnerabilities
- dev-add-with-all-to-modules-list
This package is auto-updated.
Last update: 2026-04-15 21:35:45 UTC
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 — public API, the only way in
- Factory — creates internal services
- Provider — wires external dependencies
- Config — reads project config
Installation
composer require gacela-project/gacela
Module structure
app/
├── gacela.php
├── config/
└── src/
└── ModuleA/
├── Facade.php
├── Factory.php
├── Provider.php
└── Config.php
Documentation
- Getting started
- Container configuration
- Static analysis (PHPStan / Psalm)
- Module health checks
- Opcache preload
- Full reference: gacela-project.com
- Examples: gacela-example
Contributing
Report issues, share ideas, or open a pull request.
Inspired by Spryker.