guillegf / secret-santa
Secret Santa game in PHP
Requires
- ramsey/uuid: ^3.5
Requires (Dev)
- phpunit/phpunit: 5.7.*
README
- Repository: https://github.com/GuilleGF/SecretSantaPHP
- Version: 1.3.0
- License: MIT, see LICENSE
Description
Secret Santa game in PHP
Installation
Composer (Recommended)
Composer is a widely used dependency manager for PHP
packages. Is available on Packagist as
guillegf/secret-santa
and can be
installed either by running the composer require
command or adding the library
to your composer.json
. To enable Composer for you project, refer to the
project's Getting Started
documentation.
To add this dependency using the command, run the following from within your project directory:
composer require guillegf/secret-santa "~1.3"
Alternatively, add the dependency directly to your composer.json
file:
"require": { "guillegf/secret-santa": "~1.3" }
Usage
In this example in total we add 10 players, 2 singles players, 2 couples (exclusive) and 4 exclusive players.
The couples and exclusive players never match together.
<?php $secretSanta = new SecretSanta(); $secretSanta->addPlayer('Player1', 'player1@email.com') ->addPlayer('Player2', 'player2@email.com') ->addCouple('Player3', 'player3@email.com', 'Couple3', 'couple3@email.com') ->addCouple('Player4', 'player4@email.com', 'Couple4', 'couple4@email.com') ->addExclusivePlayers( ['Player5', 'player5@email.com'], ['Player6', 'player6@email.com'], ['Player7', 'player7@email.com'], ['Player8', 'player8@email.com'] ); foreach ($secretSanta->play() as $player) { echo ("{$player->name()} ({$player->email()}): {$player->secretSanta()->name()}\n"); }
The above example will output:
Player1 (player1@email.com): Player5 Player2 (player2@email.com): Player7 Player3 (player3@email.com): Player2 Couple3 (couple3@email.com): Player8 Player4 (player4@email.com): Player3 Couple4 (couple4@email.com): Player6 Player5 (player5@email.com): Player4 Player6 (player6@email.com): Player1 Player7 (player7@email.com): Couple3 Player8 (player8@email.com): Couple4
License
The SecretSanta is open-sourced software licensed under the MIT license