This talk is great on two levels. First it shows how modern PHP has become and how clean code you can make using patterns. Second it teaches those who watches this video about the State Pattern and the "State Machine" thing. I hope this video will recruit more PHP-developer and more Laravel-users. Well done Jake Bennett! Well done!
@tmanley19857 ай бұрын
I love state machines but something I've found to be difficult is a few things: - You're often not just trying to update a single field (e.g., status), sometimes you need to update more than a few things and so you have to parameterize these transition functions to take some context object - Side effects in a transition function are simple and nice but they can be hairy. There are situations where you may be transitioning to a state but it may be the case that you don't want any side effects (e.g., not sending an email for some special reason). When this happens, you find yourself once again either accepting booleans or some context object. Or you can revert control of side effects to the user by accepting a function to run once the state has transitioned - Bulk Actions often need their own state machine This is not a rally against this pattern, I love it, especially in UI with sequential flows, but there's a few considerations here. :) Great talk!
@Denakino Жыл бұрын
This left a much deeper impression on me than the title of the talk would suggest. Very well done, my favorite technical talk (not announcements/general mindset) from this year's Laracon.
@JacobBennetts Жыл бұрын
Thanks so much @Denakino! Really enjoyed putting it together. I agree, I should have come up with a catchier Title 😅
@FarazSamapoor Жыл бұрын
Great talk and superb presentation! Thank you, Jake!
@stephenshead3636 Жыл бұрын
Got 6 minutes into listening to your latest Laravel News podcast and realised, “Oh, this is exactly what I need for that bit of the codebase that has been smelling slightly off.” Awesome presentation!
@JacobBennetts Жыл бұрын
Super glad to hear that @stephenshead3636! Excited to hear how it goes.
@tomaserlebach9760 Жыл бұрын
This is so awesome! Everydayproblem solved with a simple solution. Thanks for that!❤
@pindab0ter Жыл бұрын
This is an amazing talk! I implemented a state machine using XState in Typescript before. This much simpler and still does everything a state machine should do! Will definitely look at using this once the need arises!
@amirpouresterabadi3052 Жыл бұрын
Really it was one of the best top 3 talks in all laracons... Thank you so much
@JacobBennetts Жыл бұрын
So kind of you to say that. Thanks!
@thurstonlevi Жыл бұрын
I agree! along with Livewire 3
@chrispage558 Жыл бұрын
Brilliant talk and something I'll definitely be using! Thank you 🙌
@kalvinniam718510 ай бұрын
This is amazing!
@AbderrahmanFodili Жыл бұрын
This was an amazing talk . Just what I need right now
@kaibe5241 Жыл бұрын
Really great talk, thank you, Jake :)
@RobinDesBles Жыл бұрын
Awesome talk!
@JacobBennetts Жыл бұрын
Appreciate that!
@kpomeru Жыл бұрын
This is so insightful.
@SusantPaudelfab Жыл бұрын
this talk really solved my irritative problem. hope to see more from laravel team.
@freesgen Жыл бұрын
Amazing talk dude, thanks for sharing
@JacobBennetts Жыл бұрын
My pleasure.
@7924a Жыл бұрын
Hey, can you share link to state machine package (no spatie, second one) you mentioned in talk please?
@whchi9252 Жыл бұрын
really good talk!
@JacobBennetts Жыл бұрын
Thank you!
@thurstonlevi Жыл бұрын
Brilliant talk Jake, first thing i did was to implement this in an evolving job admin app. Did raise a few questions like do I add this to a query using a with so i can show the current state in a table? might be nicer to have named the initial Invoice class as say InvoiceState but did that with a HasOne but I had to be careful in implementing this with similar named classes (App/Models/Invoice and App/StateMachine/Invoice).
@shafqatalinawaz3868 Жыл бұрын
Brilliant ❤
@hermanceaser Жыл бұрын
Wow, Dude you are magician 😟
@JacobBennetts Жыл бұрын
Haha, its true! Love me some good card magic!
@exikoz6 ай бұрын
@@JacobBennettsThank you so much for this awesome presentation.