Aller au contenu

Installation

tilttek/dice-bundle

Prérequis

  • PHP 8.5 ou plus récent, Symfony 8.2, Doctrine ORM 3.7 avec DoctrineBundle 3.
  • tilttek/dice et phil/resource 0.1, installés avec le bundle.
  • Facultatifs : Symfony Form pour le champ, Symfony Validator pour la contrainte, TwigBundle pour les gabarits, Symfony Translation pour les mots d'un lancer et les libellés des faces.

Installer

composer require tilttek/dice-bundle

Enregistrez le bundle si Flex ne le fait pas :

// config/bundles.php
return [
    // …
    Tilttek\DiceBundle\TilttekDiceBundle::class => ['all' => true],
];

La table du journal

Le bundle associe ses entités pour Doctrine. Créez la table tilttek_dice_roll avec une migration :

bin/console doctrine:migrations:diff
bin/console doctrine:migrations:migrate
ColonneTypeContient
idvarchar(32)L'identifiant de rejeu, la clé primaire
expressiontextL'expression dans sa forme canonique
seedvarchar(64)Le germe, en hexadécimal
resultjsonLe résultat, tel que l'écrit PoolResult::toArray()
ownervarchar(320), nulQui a lancé, en ResourceReference ; indexée
rolled_atdatetime_immutableQuand
roundingvarchar(32), NegativeInfinity par défautComment les divisions du lancer ont été arrondies, par le nom du RoundingMode de PHP

La table des macros

Les macros des sites, des tables et des membres sont gardées dans tilttek_dice_macro, créée par la même migration :

ColonneTypeContient
levelvarchar(16)site, table ou member ; fait partie de la clé primaire
ownervarchar(320)Le propriétaire, en ResourceReference ; fait partie de la clé primaire, indexée
namevarchar(32)Le nom, en minuscules ; fait partie de la clé primaire
expressiontextL'expression, dans la notation de la bibliothèque

Une application qui ne garde ni lancer ni macro règle store: memory.