Ich hab mal das State Class Pattern, für welches es viele Beispiele in Java gibt in PHP nachgebaut.

Als Beispiel den beliebten Kaugummiautomaten mit ganzen 3 verschiedenen Zuständen (States) und 3 Übergängen (Actions).

Zustände sind vorhanden: “NoQuarter” (Kein Geld eingeworfen), “HasQuarter” (Geld eingeworfen) und “OutOfGumballs” (Keine Kaugummis mehr vorhanden).
Übergänge sind: “insertQuarter” (Geld einwerfen), “returnQuarter” (Geld zurückgeben) und “turnCrank” (Kaugummi ziehen).

In Php sieht das dann folgendermaßen aus: More >