Have you ever heard terms like automata theory, Turing machines and finite state machines? While they might sound too abstract or even out of place for web development, rest assured, they can be quite useful in your web applications.

We will quickly cover some basics and then dive right into most popular PHP state machine libraries. After the talk, you will know benefits of using state machines and, most importantly, how and when to implement them.


Comments are closed.

James Titcumb at 11:32 on 14 Apr 2018

Good detailed look at state machines and explanation of how it works, and so on. Nice!

Matt Cavanagh at 11:35 on 14 Apr 2018

Good introduction and overview of state machines. Might have made more sense to go through the door scenario on a transition basis and how the class looks etc. E g show an actual transition in the config and then how it looks in the class when the transition is done.

Might have been good to show how to utilize events e.g log to database etc.

Great talk with a great door example.
Definitely going to try and implement this at work if possible.

Iain Fogg at 21:31 on 14 Apr 2018

Good session, thanks!

Pim Elshoff at 11:13 on 15 Apr 2018

I want to give this talk a lower score. I loved the idea of the state pattern, but I am a strong opponent of business logic in framework / package code. I would like to see more people separate these concerns better.

But Luka was really good. I have nothing to add to this performance. You rocked our pants off!

Shaun Walker at 13:41 on 15 Apr 2018

Nice clear explanation of state machines, I think instead of using the Door example throughout it might have been better to use one of the other real world examples highlighted later on in the talk, like retail order progress or something. As I think the Door example is a little abstract, a more real world example might lead to a better understanding of the useful-ness of the various events highlighted, and potentially lead to better questions.

I appreciate the need to find a simple enough example to fit on slides though.

I enjoyed it and it refreshed me nicely to want to start implementing these in my own code. I particularly appreciated highlighting the need to enforce the usage of implemented state machines throughout a project, reminding people that a pattern is only as good as the developers who follow it.

Would love to see more talks on other topics from Luka.

Great talk, nice delivery.
A lot of good examples.

Adam Prescott at 17:08 on 15 Apr 2018

A nice introduction to state-machines, Luka did a good job of taking an abstract concept and explaining it in a practical way with the door example and the symfony/workflow package. I think it would have been useful to see some more practical examples using a functional application.

Great and interesting talk with a good example about a door in several states.

Gemma Anible at 21:29 on 19 Apr 2018

Great intro to state machines and how they're useful. I would have liked to see a framework-agnostic example.