Gacela Project

Build a modular PHP application with Gacela

Gacela helps you to split the logic of your app into different modules

Splitting your project into different modules will help its design in terms of maintainability and scalability. It will certainly encourage your modules to interact with each other in a unified way by following these rules:

  • Modules interact with each other only via their Facade.
  • The Facade has access to the Factory.
  • The Factory creates the module's objects.
  • The Config is accessible from the Factory.
  • The DependencyProvider gets other Facades.


composer require gacela-project/gacela


You can see an example of a module using gacela in this repository.