Download the PHP package akyos/canopee-module-sdk without Composer
On this page you can find all versions of the php package akyos/canopee-module-sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package canopee-module-sdk
Notifier – Intégration & fonctionnement
Ce bundle fournit une infrastructure générique de notifications permettant :
- de déclarer des notifications via un Attribute PHP
- de scanner automatiquement toutes les notifications disponibles
- de déclencher une notification manuellement (ex : interface d’admin / tests)
- de résoudre automatiquement les arguments attendus par chaque notification
👉 Le bundle fournit l’infrastructure. 👉 L’application fournit les notifications concrètes et les données.
1. Principe général
Une notification est :
- une méthode publique
- décorée avec l’attribut
#[Notifier] - définie dans un service Symfony
Exemple :
Chaque notification peut avoir des paramètres différents. Le bundle s’appuie sur des ArgumentResolvers pour fournir automatiquement des valeurs de test.
2. Ce que fournit le bundle
Le bundle expose :
Notifier(Attribute)NotifierScannerNotifierExecutorNotifierArgumentResolverInterface
Ces services sont déjà configurés dans le bundle.
⚠️ Le bundle ne contient aucune notification métier.
3. Configuration côté application (obligatoire)
3.1 Déclarer les services de notification
Dans l’application, les services contenant des notifications doivent être tagués :
Chaque classe de ce dossier peut contenir plusieurs méthodes #[Notifier].
3.2 Déclarer les ArgumentResolvers
Chaque paramètre attendu par une notification doit être résolu via un resolver.
4. Créer un ArgumentResolver
Chaque resolver :
- implémente
NotifierArgumentResolverInterface - indique s’il supporte un argument
- retourne une valeur (souvent aléatoire) depuis la base de données
Exemple : UserAccessRightResolver
👉 Le resolver est automatiquement utilisé dès qu’un paramètre correspond.
5. Scanner les notifications
Le service NotifierScanner permet de récupérer la liste complète des notifications disponibles.
Retourne par exemple :
Utile pour :
- une interface d’administration
- un écran de test
- une commande CLI
6. Exécuter une notification de test
Le service NotifierExecutor :
- instancie le bon notifier
- résout les arguments
- appelle la méthode
Les paramètres sont automatiquement injectés.
7. Cycle complet
- L’application déclare un notifier (
#[Notifier]) - Le scanner le détecte
- L’UI affiche un bouton "Tester"
- L’executor est appelé
- Les resolvers fournissent les données
- La notification est envoyée
8. Bonnes pratiques
- Une notification = une responsabilité claire
- Préférer des resolvers simples et déterministes
- Éviter la logique métier dans les resolvers
- Les notifiers doivent rester stateless
9. Résumé
| Élément | Bundle | Application |
|---|---|---|
| Infrastructure | ✅ | ❌ |
| Notifiers | ❌ | ✅ |
| ArgumentResolvers | ❌ | ✅ |
| UI / CLI | ❌ | ✅ |
Pour toute question ou extension (CLI, UI, permissions, filtres…), le système est conçu pour être extensible.
All versions of canopee-module-sdk with dependencies
symfony/http-foundation Version 6.*
symfony/http-client Version 6.*
symfony/dependency-injection Version 6.*
symfony/config Version 6.*
symfony/http-kernel Version 6.*
symfony/filesystem Version 6.*
symfony/routing Version 6.*
symfony/framework-bundle Version 6.*
firebase/php-jwt Version ^6.4
symfony/security-core Version *