- 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): Couple4The SecretSanta is open-sourced software licensed under the MIT license

