PHPackages                             fduh/poker-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. fduh/poker-bundle

AbandonedArchivedSymfony-bundle[Utility &amp; Helpers](/categories/utility)

fduh/poker-bundle
=================

Results manager for poker and other card games.

017PHP

Since Feb 18Pushed 5y ago1 watchersCompare

[ Source](https://github.com/fabienduhamel/PokerBundle)[ Packagist](https://packagist.org/packages/fduh/poker-bundle)[ RSS](/packages/fduh-poker-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (3)Used By (0)

FDuhPokerBundle
===============

[](#fduhpokerbundle)

Installation
------------

[](#installation)

Add the dependency:

```
$ composer require fduh/poker-bundle dev-master
```

Add the bundle:

```
// app/AppKernel.php

class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...
            new Fduh\PokerBundle\FduhPokerBundle(),
            // Optional, for Google Chart
            new SaadTazi\GChartBundle\SaadTaziGChartBundle(),
        );
    }
}
```

How to use
----------

[](#how-to-use)

### Results Handler

[](#results-handler)

After you created some seasons, events and results, you now want to manage players, rankings and scores. Here's how to use the bundle:

```
$resultsHandler = $this->get('poker.results_handler');
// Add events
$resultsHandler->addEvents($yourEvents);
// Or a season
$resultsHandler->addSeason($yourSeason);
```

Of course, you can retrieve events by using:

```
// Reduces requests count
$events = $this->get('poker.repository.hydrated.event')->findAllViewableEventsByDateAsc();
```

Now there's how you should use the results handler in your template:

```
{% for eventData in resultsHandler.eventManager.eventsData %}
    {{ eventData.event }} // Access to the Event entity
    {# And other functions... #}
{% endfor %}

{% for playerData in resultsHandler.playerManager.playersData %}
    {{ playerData.player }} // Access to the Player entity
    {{ playerData.score }}
    {{ playerData.rank }}
    {{ playerData.wonEvents }}
    {# And a lot of functions... #}
{% endfor %}
```

Open *PlayerDataInterface.php* and *EventDataInterface.php* to read more about provided properties.

Watch a practical example at [standrewspokerclub.fr](http://www.standrewspokerclub.fr/result).

### Chart

[](#chart)

If you want to display score evolution (in controller):

```
$chartMaker = $this->get('poker.chart_maker');
$chartMaker->setSeason($season);
$chart = $chartMaker->getChart();

return array(
    'chart'  => $chart->toArray(),
    'width'  => $chartMaker->getWidth(),
    'height' => $chartMaker->getHeight()
    // ...
}
```

And in the template (mine for the example):

```

    $(function() {
        {{ gchart_line_chart(chart, 'chart', width, height, null,
           { // your options }
          )
        }}
    });

```

Watch a practical example at [standrewspokerclub.fr](http://www.standrewspokerclub.fr/stats).

Configuration
-------------

[](#configuration)

Reference dump:

```
fduh_poker:
    calculation_class: ~
```

If you want the bundle to calculate scores differently, override the *calculation\_class* with a class implementing *Fduh\\PokerBundle\\Calculator\\CalculationStrategyInterface*.

Run this command to recalculate every score:

```
$ php app/console poker:update-scores
```

To do
-----

[](#to-do)

- TwigExtensions
- a lot of things.....

Feel free to contribute this project.

###  Health Score

21

—

LowBetter than 18% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/b5ec125913a607938d6beeaa841731dfc2eb4b3e9cae1599713a4cdd67fedbc3?d=identicon)[fabienduhamel](/maintainers/fabienduhamel)

---

Top Contributors

[![fabienduhamel](https://avatars.githubusercontent.com/u/10584029?v=4)](https://github.com/fabienduhamel "fabienduhamel (13 commits)")

### Embed Badge

![Health badge](/badges/fduh-poker-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/fduh-poker-bundle/health.svg)](https://phpackages.com/packages/fduh-poker-bundle)
```

###  Alternatives

[yireo/magento2-googletagmanager2

Add Google Tag Manager to Magento

167930.4k5](/packages/yireo-magento2-googletagmanager2)[yaroslawww/laravel-force-https

Easy redirect to https for Laravel.

139.7k](/packages/yaroslawww-laravel-force-https)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
