- Repository: https://github.com/GuilleGF/SecretSantaPHP
- Version: 1.3.0
- License: MIT, see LICENSE
Secret Santa game in PHP
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"
}
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
The SecretSanta is open-sourced software licensed under the MIT license