Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/vectorxhd/trophybundle
- Owner: VectorXHD
- Created: 2018-07-17T21:22:41.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-07-17T23:09:17.000Z (over 6 years ago)
- Last Synced: 2024-11-12T17:51:35.519Z (5 days ago)
- Topics: badges, bundle, php, symfony, symfony-bundle, trophy, trophy-bundle
- Language: PHP
- Homepage:
- Size: 11.7 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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 produiteDans 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