Framework Make Factory Skill
Instructions à Exécuter
IMPORTANT : Exécute ce workflow étape par étape :
Description
Génère une Factory Foundry pour créer des instances d'entités dans les tests.
Usage
code
Use skill framework:make:factory
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)
- •{properties} - Liste des propriétés pour
defaults()
Dépendances
- •Entité dans
src/Entity/{EntityName}.php - •Zenstruck Foundry installé
Outputs
- •
src/Factory/{EntityName}Factory.php
Workflow
- •Demander le nom de l'entité (EntityName)
- •Vérifier que l'entité existe
- •Lire l'entité pour détecter les propriétés du constructeur
create() - •Générer la factory depuis le template
templates/Factory/ - •Afficher le fichier créé
Patterns appliqués
- •Extends PersistentObjectFactory, classe
final - •Méthode
class()retournant FQCN - •Méthode
defaults()avec valeurs Faker - •Méthode
initialize()avecinstantiateWith()appelantEntity::create() - •Méthodes custom (ex:
withSpecificId(),inactive())
References
- •Usage - Exemples de tests et valeurs Faker recommandées
Notes
- •Utilise
instantiateWith()pour respecter Elegant Objects (pas denew Entity()) - •Faker via
self::faker() - •Méthodes custom uniquement si demandées (YAGNI)
- •Persiste par défaut,
withoutPersisting()si besoin