destinylab / tarot
The tool of Tarot Decks
Installs: 16
Dependents: 0
Suggesters: 0
Security: 0
Stars: 10
Watchers: 4
Forks: 1
Open Issues: 0
pkg:composer/destinylab/tarot
Requires
- php: >=5.4.0
- indigofeather/resource-loader: dev-master
Requires (Dev)
- codeception/codeception: 2.0.12
This package is not auto-updated.
Last update: 2025-10-25 20:47:09 UTC
README
Tarot is the tool of Tarot Decks.
Requirement
- PHP >=5.4
Installing via Composer
The recommended way to install Tarot is through Composer.
# Install Composer curl -sS https://getcomposer.org/installer | php
Next, update your project's composer.json file to include Tarot:
{
"require": {
"destinylab/tarot": "dev-master"
}
}
Usage
<?php require_once 'vendor/autoload.php'; // get the Rider-Waite deck $deck = new \DestinyLab\TarotDeck('Rider-Waite'); var_dump($deck->getCards()); var_dump($deck->getSupportGroups()); var_dump($deck->getCardsByGroups(['Swords'])); // get the TarotDraw object $draw = new \DestinyLab\TarotDraw($deck); // only use 'Major Arcana', has reversed, need shuffle, and draw 3 $draw->number(3) ->includes(['Major']) ->reversed(true) ->shuffle(true); var_dump($draw->draw()); // If you use spreads, you can pass the options in construct $options = [ 'include' => ['Major'], 'number' => 7, 'reversed' => true, 'shuffle' => true, ]; $draw = new \DestinyLab\TarotDraw($deck, $options); var_dump($draw->draw());
Configuration
Adds the search paths of Tarot Deck File:
<?php $deck = new \DestinyLab\TarotDeck('My-deck', ['path/to/dir/', 'path/to/another/dir/']);
Custom Your Tarot Decks
{
"cards": [
{
"id": 0,
"name": "The Fool"
},
{
"id": 1,
"name": "The Magician"
},
...
{
"id": 77,
"name": "King of Pentacles"
}
],
"groups": {
"group1": [
0,
1,
2
],
"group2": [
22,
23,
24
]
}
}
License
MIT