cordon / account-review
Un bundle Symfony pour la revue des entités.
Installs: 50
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=7.4
- doctrine/doctrine-bundle: ^1.12|^2.0
- doctrine/orm: ^2.8 || ^3.0
- symfony/console: ^4.4 || ^5.0 || ^6.0 || ^7.0
- symfony/framework-bundle: ^4.4 || ^5.0 || ^6.0 || ^7.0
- symfony/mailer: ^4.4 || ^5.0 || ^6.0 || ^7.0
- symfony/mime: ^4.4 || ^5.0 || ^6.0 || ^7.0
- symfony/property-access: ^4.4 || ^5.0 || ^6.0 || ^7.0
- symfony/security-core: ^4.4 || ^5.0 || ^6.0 || ^7.0
- symfony/serializer: ^4.4 || ^5.0 || ^6.0 || ^7.0
README
AccountReview est un bundle Symfony conçu pour extraire les données des entités. Il offre des fonctionnalités pour récupérer et exporter les informations dans différents formats (JSON, CSV, XML).
Table des matières
Installation
Pour installer AccountReview
, ajoutez-le à votre projet Symfony via Composer :
composer require cordon/account-review
Ensuite, activez le bundle en ajoutant les lignes suivantes dans le fichier config/bundles.php
:
return [ // ... Cordon\AccountReview\AccountReviewBundle::class => ['all' => true], ];
Prérequis
- PHP 7.4 ou supérieur
- Symfony 4.4, 5.x, 6.x ou 7.0
- Doctrine ORM
- Symfony Mailer (pour l'envoi par email)
Conception et version Symfony
Le bundle est compatible de la version 4.4 à 7.0 de Symfony.
La nécessité de la compatibilité des versions Symfony 4.4 à 7.0 a pour conséquence de ne pas utiliser les nouvelles fonctionnalités de Symfony 5.0 et 6.0.
Configuration
Configuration du Mailer
Pour utiliser la fonctionnalité d'envoi par email, configurez le DSN du mailer dans votre fichier .env :
MAILER_DSN=smtp://user:pass@smtp.example.com:25
Un autre exemple pour utiliser un MailCatcher avec Docker :
MAILER_DSN=smtp://host.docker.internal:1025
Configuration de l'entité
Il est possible de configurer une à plusieurs entités pour l'extraction des données. Pour ce faire, ajoutez le tag
cordon.exportable_entity
à chaque entité depuis le fichier services.yaml
:
services: App\Entity\User: tags: - { name: 'cordon.exportable_entity' } App\Entity\Customer: tags: - { name: 'cordon.exportable_entity' }
Exclure des propriétés
Vous pouvez exclure des propriétés de chaque entité depuis le fichier services.yaml
:
cordon.account_review.entity_locator: class: Cordon\AccountReview\EntityLocator arguments: $config: entities: App\Entity\User: exclude_fields: [ 'roles', 'password', '...' ] App\Entity\Customer: exclude_fields: [ 'imageName', '...' ]
Utilisation
Pour extraire les données des utilisateurs, exécutez la commande suivante :
php bin/console app:account-review
Options de base
La commande principale supporte plusieurs options :
php bin/console app:account-review [options]
Options disponibles :
- --method ou -m : Méthode d'envoi des données (log, local, mail) (défaut: 'log')
- --format ou -f : Format de sortie (json, csv, xml) (défaut: 'json')
Export par défaut
La commande par défaut exporte les données des utilisateurs dans la console en format JSON :
php bin/console app:account-review
Export local
Pour sauvegarder les données dans un dossier local :
php bin/console app:account-review --method=local --format=json
Les fichiers seront enregistrés dans le dossier racine du projet.
Envoi par email
Pour envoyer les données par email :
php bin/console app:account-review --method=mail --format=csv --recipient=audit@example.com --emitter=no-reply@company.com
On peut rajouter un ou plusieurs destinataires en ajoutant un --recipient pour chaque adresse email.
--recipient=audit@example.com --recipient=manager@example.com
Options spécifiques à l'email :
- --recipient ou -r : Adresse email du ou des destinataires
- --emitter ou -em : Adresse email de l'émetteur (défaut: 'no-reply@account-review.com')
Commandes
Pour afficher la liste des commandes disponibles, exécutez la commande suivante :
php bin/console app:account-review --help
Licence
Ce bundle est sous licence MIT.