CardFactory is a PHP library designed to simplify the creation and management of card decks for card games. It provides an organized and extensible structure with classes and enumerations for cards, suits, values, and decks, making it easy to build and manipulate card decks in a variety of game scenarios.
- PHP >= 8.1
To install CardFactory, use Composer:
composer require apetitpa/card-factory
Here's a basic example of how to use CardFactory to create and manipulate a deck of cards:
use Apetitpa\CardFactory\Model\Deck;
// Create a standard deck of 52 playing cards (shuffled by default)
$deck = Deck::createStandardDeck();
// To create an ordered (not shuffled) deck, use:
$deck = Deck::createStandardDeck(false);
// Shuffle the deck
$deck->shuffle();
// Draw the top card from the deck
$card = $deck->drawCard();
// Check the card's suit and value
$suit = $card->getSuit();
$value = $card->getValue();
You can install CardFactory via Composer:
make install
CardFactory uses PHPStan and Psalm for static code analysis. To run PHPStan and Psalm, follow these steps:
make phpstan
make psalm
To run the tests, execute the following command at the root of the project:
make test
CardFactory is open-source software licensed under the MIT license.