Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/vectorxhd/trophybundle

Un bundle symfony pour gérer des trophée simplement
https://github.com/vectorxhd/trophybundle

badges bundle php symfony symfony-bundle trophy trophy-bundle

Last synced: 5 days ago
JSON representation

Un bundle symfony pour gérer des trophée simplement

Awesome Lists containing this project

README

        

# TrophyBundle
Ce bundle est une "amélioration" du tutoriel de [grafikart](https://www.youtube.com/watch?v=P6MjPMRjJvo)

## Installation

```shell
$ composer require vectorxhd/trophy-bundle
```

## Configuration
```php
setName("Premier badge");
$badge->setActionName('comment');
$badge->setActionCount(1);
```

## Exemple d'utilisation
```php
// 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