| name | framework:make:collection |
| description | Génère classe Collection typée avec traits Atournayre |
| license | MIT |
| version | 1.0.0 |
Framework Make Collection Skill
Description
Génère une classe Collection typée pour gérer des ensembles d'entités avec les traits et interfaces Atournayre.
Usage
Use skill framework:make:collection
Variables requises
- {EntityName} - Nom de l'entité en PascalCase (ex: Product)
- {entityName} - Nom de l'entité en camelCase (ex: product)
- {namespace} - Namespace du projet (défaut: App)
Dépendances
- Entité dans
src/Entity/{EntityName}.php - Framework
atournayre/framework
Outputs
src/Collection/{EntityName}Collection.php
Workflow
- Demander le nom de l'entité (EntityName)
- Vérifier que l'entité existe dans
src/Entity/{EntityName}.php- Si non : arrêter et demander de créer l'entité d'abord
- Générer la classe Collection depuis le template
templates/Collection/ - Afficher le fichier créé
Patterns appliqués
- Classe
final - Interfaces : AsListInterface, ToArrayInterface, CountInterface, CountByInterface, AtLeastOneElementInterface, HasSeveralElementsInterface, HasNoElementInterface, HasOneElementInterface, HasXElementsInterface, LoggableInterface
- Traits : Collection, Collection\ToArray, Collection\Countable
- Méthode statique
asList(array $collection)
References
- Usage - Exemples d'utilisation et méthodes métier
Notes
- Respect du principe YAGNI : pas de méthodes génériques anticipées
- Seules les méthodes explicitement demandées doivent être ajoutées
- Les traits fournissent déjà les fonctionnalités de base