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
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() avec instantiateWith() appelant Entity::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 de new Entity())
- Faker via
self::faker()
- Méthodes custom uniquement si demandées (YAGNI)
- Persiste par défaut,
withoutPersisting() si besoin