php:make-factory
Génère Factory Foundry pour tests
- License 许可
- MIT
- 最近更新
- 2026-03-02
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- php:make-factory
- model
- sonnet
- license
- MIT
- version
- 1.0.0
- description
- Génère Factory Foundry pour tests
- allowed-tools
- [ "Bash", "Read", "Write", "Edit", "Grep", "Glob" ]
03 SKILL.md 正文
PHP 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 php: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
04 同仓库更多 Skills
twig:make-component
Génère un Twig Component Symfony UX (classe PHP + template Twig)
tester:ui-test
Teste automatiquement une interface utilisateur dans Chrome : navigation, clics, validation visuelle, tests fonctionnels, responsive, comportement et debug. Génère un rapport détaillé avec screenshots et optionnellement un GIF du parcours.
symfony:voter
Genere un Voter de securite Symfony pour le controle d'acces granulaire
symfony:message
Genere un Message Symfony Messenger avec son Handler pour traitement asynchrone
symfony:mailer
Genere un email Symfony (TemplatedEmail ou Notification) avec template Twig
symfony:form
Genere un FormType Symfony avec contraintes de validation et options