Points d'extension
tilttek/setsLe 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.
| Point | Ce que donne une application | Où |
|---|---|---|
Contract\DefinitionStore | Les versions des ensembles, jamais réécrites ; Store\InMemoryDefinitionStore les garde en mémoire | Définir des ensembles |
Contract\CompletionStore | Les complétions, une par ensemble, palier et détenteur ; Store\InMemoryCompletionStore les garde en mémoire | Progression et complétions |
Psr\EventDispatcher\EventDispatcherInterface | Qui est informé de chaque complétion, par Event\SetCompleted et Event\TierReached | Progression et complétions |
Psr\Clock\ClockInterface | Le moment des complétions, gardé en UTC | Installation |
Chaque point est passé à un constructeur ; Sets ne garde aucun état entre deux appels.
Implémenter un stockage
DefinitionStore::add()retourne faux, sans rien écrire, quand le stockage contient cette version de cet ensemble ;latest()donne la version la plus élevée.CompletionStore::add()retourne faux, sans rien écrire, quand le stockage contient une complétion de mêmeCompletion::key(): l'ensemble, le palier ou aucun, et le détenteur.of()etofHolder()listent dans l'ordre d'ajout.Completion::toArray()donne les valeurs d'une ligne, avec le moment en UTC à la microseconde.