guillegf / secret-santa
Secret Santa game in PHP
Installs: 94
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 0
pkg:composer/guillegf/secret-santa
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