php:make-urls
Génère classe Urls + Message CQRS + Handler
- License 许可
- MIT
- 最近更新
- 2026-03-02
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- php:make-urls
- model
- sonnet
- license
- MIT
- version
- 1.0.0
- description
- Génère classe Urls + Message CQRS + Handler
- allowed-tools
- [ "Bash", "Read", "Write", "Edit", "Grep", "Glob" ]
03 SKILL.md 正文
PHP Make Urls Skill
Instructions à Exécuter
IMPORTANT : Exécute ce workflow étape par étape :
Description
Génère une classe Urls pour la génération d'URLs d'une entité avec pattern CQRS (Message + Handler).
Usage
Use skill php:make-urls
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 - Repository dans
src/Repository/{EntityName}Repository.php - Interface repository dans
src/Repository/{EntityName}RepositoryInterface.php
Outputs
src/Urls/{EntityName}Urls.phpsrc/MessageHandler/{EntityName}UrlsMessage.phpsrc/MessageHandler/{EntityName}UrlsMessageHandler.php
Workflow
- Demander le nom de l'entité (EntityName)
- Vérifier que l'entité et le repository existent
- Générer les 3 classes depuis les templates
templates/ - Afficher les fichiers créés
Patterns appliqués
Classe Urls
final readonly, constructeur privé, factorynew()- Propriétés : UrlGeneratorInterface + entité
Message CQRS
- Extends AbstractQueryEvent, Implements QueryInterface
final, constructeur privé, factorynew()
MessageHandler
final readonly, attribut #[AsMessageHandler]- Injection : repository + UrlGeneratorInterface
References
- Usage - Architecture CQRS et exemples d'enrichissement
Notes
- Pattern CQRS : séparation query (Message) / handler
- Classe Urls enrichissable avec méthodes spécifiques (show, edit, delete)
- Immutabilité (readonly)
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