vectorxhd / trophy-bundle
A simple trophy bundle for Symfony
Installs: 86
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=5.5.9
- doctrine/data-fixtures: ^1.3
- doctrine/doctrine-bundle: ^1.6
- doctrine/orm: ^2.5
- sensio/framework-extra-bundle: ^5.0.0
- twig/twig: ^1.0||^2.0
This package is auto-updated.
Last update: 2024-03-29 03:07:06 UTC
README
Ce bundle est une "amélioration" du tutoriel de grafikart
Installation
$ composer require vectorxhd/trophy-bundle
Configuration
<?php // app/AppKernel.php public function registerBundles() { $bundles = [ // ... new VectorXHD\TrophyBundle\VectorXHDTrophyBundle(), ]; }
# app/config/config.yml vectorxhd_trophy: user_class: AppBundle\Entity\User
Il faut aussi implémenter UserTrophyInterface
sur votre entité user_class
Mettre a jour la base de donnée
$ php bin/console doctrine:schema:update --force
Ajouter un badge
Voici l'exemple d'un badge utiliser pour les commentaire
$badge = new Badge(); $badge->setName("Premier badge"); $badge->setActionName('comment'); $badge->setActionCount(1);
Exemple d'utilisation
// Recuperer le manager /** @var TrophyManager $trophyManager */ $trophyManager = $this->get('vectorxhd_trophy.manager.trophy'); // Debloquage d'un trophée $trophyManager->checkAndUnlock($user, 'comment', $commentsUserCount);
La méthode checkAndUnlock
a besoin de
- L'instance de l'utilisateur (
$this->getUser();
) - Le nom de l'action
- Le nombre de fois que l'action c'est produite
Dans cette exemple $commentsUserCount
correspond qu nombre de commentaire poser par l'utilisateur.
Événement
Il y a deux événement dispatch
TrophyUnlockedEvent::PRE_CREATE
TrophyUnlockedEvent::POST_CREATE
Cette événement dispose de plusieurs getter
getBadgeUnlock
getBadge
getUser
Todo
- Ajouter des test
Ajouter le bundle sur packagist- Tester sur plusieurs version de symfony