vegas0250 / blackcap-bundle
Tree-like modular architecture in the style of a bundle approach
Installs: 15
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=7.4
README
πΊπΈ English | π·πΊ Π ΡΡΡΠΊΠΈΠΉ
A tree-like modular architecture in the style of the bundle approach
(in development)
What is it?
This is a structure with a hierarchy of modules, each of which has the structure of a Symfony Bundle, but is not registered as a full-fledged bundle, but is integrated into the project via the blackcap:compile command.
They:
- Are located in app/,
- Can include each other recursively (nested modules),
- services.yaml, routes.yaml, twig-paths, psr-4, etc. are automatically registered in the main project.
That is, a recursively pluggable modular architecture with elements of the bundle structure, but with custom registration logic.
Even simpler, each module is a mini-"symfony project" with arbitrary nesting and registered key folders such as:
- /assets
- /config
- /public
- /src
- /templates
- /translations
- /tests
The console integration command reads all folders that are registered in the module hierarchy and simply integrates everything into the basic symfony project using configuration and writing psr-4 in composer.json.
Folder structure and naming
βββ app
βΒ Β βββ migrations
βΒ Β βββ public
βΒ Β βββ src
βΒ Β βΒ Β βββ Controller
βΒ Β βΒ Β βΒ Β βββ DefaultController.php
βΒ Β βΒ Β βββ Entity
βΒ Β βΒ Β βββ Repository
βΒ Β βΒ Β βββ Kernel.php
βΒ Β βββ templates
βΒ Β βΒ Β βββ layouts
β βΒ Β βΒ Β βββ base.html.twig
βΒ Β βΒ Β βββ pages
βΒ Β βΒ Β βββ default
βΒ Β βΒ Β βββ index.html.twig
βΒ Β βββ translations
βββbin
βΒ Β βββ console
βΒ Β βββ phpunit
βββconfig
βΒ Β βββ bundles.php
βΒ Β βββ packages
βΒ Β βΒ Β βββ cache.yaml
βΒ Β β βββ debug.yaml
βΒ Β βΒ Β βββ doctrine_migrations.yaml
βΒ Β βΒ Β βββ doctrine.yaml
βΒ Β βΒ Β βββ framework.yaml
βΒ Β βΒ Β βββ mailer.yaml
βΒ Β βΒ Β βββ messenger.yaml
βΒ Β βΒ Β βββ monolog.yaml
βΒ Β βΒ Β βββ notifier.yaml
βΒ Β βΒ Β βββ routing.yaml
βΒ Β βΒ Β βββ security.yaml
βΒ Β β βββ translation.yaml
βΒ Β βΒ Β βββ twig.yaml
βΒ Β βΒ Β βββ validator.yaml
βΒ Β βΒ Β βββ web_profiler.yaml
βΒ Β βββ preload.php
βΒ Β βββ routes
βΒ Β βΒ Β βββ annotations.yaml
βΒ Β βΒ Β βββ framework.yaml
βΒ Β βΒ Β βββ web_profiler.yaml
βΒ Β βββ routes.yaml
βΒ Β βββ services.yaml
βββ public
βΒ Β βββ index.php
βββ var
βββ vendor
βββ phpunit.xml.dist
βββ composer.json
βββ composer.lock
βββ symfony.lock