Aller au contenu

Points d'extension

tilttek/deck-builder

Le paquet est en 0.x : ses points d'extension sont stables seulement à partir de sa version 1.0. D'ici là, une version mineure peut les changer, et son CHANGELOG dit comment.

PointCe que l'application donneOù
Contract\CardCatalogSes cartes ; Catalog\InMemoryCardCatalog les garde en mémoireCatalogues et licences
Contract\FormatCatalogSes formats ; Catalog\InMemoryFormatCatalog les garde en mémoireFormats et règles
Contract\OwnedCardsUne collection ; Catalog\OwnedCardList en lit une depuis un tableauConstruire et valider des paquets
Contract\DeckStoreLes versions des paquets ; Store\InMemoryDeckStore les garde en mémoireHistorique et copies

Chaque point est passé à un constructeur ; DeckValidator et Decks ne gardent aucun état entre deux appels.

Implémenter un entrepôt

  • add() retourne false, sans rien écrire, quand l'entrepôt contient cette version de ce paquet : une clé unique sur l'identifiant du paquet et le numéro de la version le garantit.
  • latest() donne la version la plus haute ; versions() les liste de la première à la dernière.
  • Une ligne garde DeckVersion::$deck->toJson(), la version, savedAt en UTC et la note ; Deck::fromJson() relit le paquet.