Ich frage mich, ob Laravel Zustandsmaschine Mechanismus some-in gebaut hat? Und wenn nicht, was ist der beste Weg, um diese ausgezeichnete Bibliothek namens Finite (https://github.com/yohang/Finite) zu verwenden.Finite State Machine & Ausdauer in Laravel
Hier ist, was ich habe (Anwendungsfall: ein Job Board):
- Der Benutzer erstellt ein Angebot (Ausgangszustand: erstellt)
- Benutzer eine Vorschau des Angebots (Stand: Entwurf)
- User veröffentlichten das Angebot (Endzustand: veröffentlicht)
zu starten, habe ich mein Modell "Stateful":
use Finite\StatefulInterface;
class Offer extends Eloquent implements StatefulInterface {
Dann in meine Angebote Controller speichern Aktion:
$stateMachine = new StateMachine();
$stateMachine->addState(new State('created', StateInterface::TYPE_INITIAL));
$stateMachine->addState('draft');
$stateMachine->addState(new State('published', StateInterface::TYPE_FINAL));
$stateMachine->addTransition('preview', 'created', 'draft');
$stateMachine->addTransition('publish', 'draft', 'published');
$stateMachine->setObject($offer);
$stateMachine->initialize();
Von dem, was ich verstehe, wenn ein Benutzer eine Vorschau ein Angebot (zum Beispiel), sollte ich anrufen werden:
$stateMachine->apply('preview').
Meine Frage ist:
Wie kann ich den Überblick über alle Zustände und Übergänge über meine Anwendung? Speichere ich Staaten in meinem Angebotsmodell? Erstelle ich zusätzliche Tabellen?
Bitte teilen Sie Ihre Anzeigen! :-) – menjaraz
Wie startet man die Zustandsmaschine mit Normalzustand? https://github.com/yohang/Finite/issues/114 –