Download the PHP package azteck/composer-workspaces without Composer
On this page you can find all versions of the php package azteck/composer-workspaces. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download azteck/composer-workspaces
More information about azteck/composer-workspaces
Files in azteck/composer-workspaces
Package composer-workspaces
Short Description Gestionnaire de workspaces Composer pour applications modulaires et monorepos PHP
License
Informations about the package composer-workspaces
Composer Workspaces
Plugin Composer pour gérer automatiquement les modules dans une architecture modulaire ou monorepo PHP.
Fonctionnalités
- Découverte automatique des modules dans un ou plusieurs dossiers configurables
- Injection automatique des namespaces PSR-4 (avec support des dossiers en minuscules)
- Installation automatique des dépendances des modules (
composer install) - Compatible Laravel Modules (
nwidart/laravel-modules) - Compatible monorepo PHP
Installation
Autoriser le plugin dans votre composer.json :
Configuration
La configuration se fait dans la clé extra.workspaces.paths de votre composer.json racine.
Dossier unique
Plusieurs dossiers
Avec chemin absolu
Si aucun chemin n'est configuré, le plugin utilise
Modules/par défaut. Les chemins inexistants sont ignorés silencieusement.
Structure attendue
Chaque sous-dossier d'un chemin configuré est considéré comme un module s'il contient un composer.json.
Configuration PSR-4 d'un module
Pour les modules dont les dossiers sont en minuscules (ex. database/seeders/) mais dont les namespaces utilisent des majuscules (ex. Database\Seeders\), déclarez des entrées PSR-4 spécifiques dans le composer.json du module :
La clé
""correspond à la racine du module. AinsiModules\Blog\Providers\BlogServiceProviderest résolu versModules/Blog/Providers/BlogServiceProvider.php.
Fonctionnement
Le plugin se raccroche aux hooks Composer suivants :
| Hook | Action |
|---|---|
pre-autoload-dump |
Injecte les PSR-4 de tous les modules dans l'autoloader racine |
post-install-cmd |
Lance composer install dans les modules qui ont des dépendances |
post-update-cmd |
Lance composer install dans les modules mis à jour |
Output attendu
Exemple composer.json complet
Licence
LICENCE MIT