What we’ve learned designing the new Sylius API

Entities lifecycle is usually something more than create and delete. Models with which we are working on day to day basis change their state under some business circumstances. State machine patterns can be a powerful allay when solving this kind of problem.

How does it look like? What are the pros and cons of state machine usage? What are the things that we should be beware of? I will answer these questions during my talk, together with practical differences between the most popular implementation.

What you’ll learn from this talk:
– Theoretical background of the pattern itself
– Major differences between most popular implementations
– Practical examples implemented in all examined libraries