Jake Bennett "State Machines" - Laracon US 2023 Nashville

  Рет қаралды 9,822

Laravel

Laravel

Күн бұрын

Пікірлер: 32
@TrondHus
@TrondHus Жыл бұрын
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!
@tmanley1985
@tmanley1985 7 ай бұрын
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
@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
@JacobBennetts Жыл бұрын
Thanks so much @Denakino! Really enjoyed putting it together. I agree, I should have come up with a catchier Title 😅
@FarazSamapoor
@FarazSamapoor Жыл бұрын
Great talk and superb presentation! Thank you, Jake!
@stephenshead3636
@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
@JacobBennetts Жыл бұрын
Super glad to hear that @stephenshead3636! Excited to hear how it goes.
@tomaserlebach9760
@tomaserlebach9760 Жыл бұрын
This is so awesome! Everydayproblem solved with a simple solution. Thanks for that!❤
@pindab0ter
@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
@amirpouresterabadi3052 Жыл бұрын
Really it was one of the best top 3 talks in all laracons... Thank you so much
@JacobBennetts
@JacobBennetts Жыл бұрын
So kind of you to say that. Thanks!
@thurstonlevi
@thurstonlevi Жыл бұрын
I agree! along with Livewire 3
@chrispage558
@chrispage558 Жыл бұрын
Brilliant talk and something I'll definitely be using! Thank you 🙌
@kalvinniam7185
@kalvinniam7185 10 ай бұрын
This is amazing!
@AbderrahmanFodili
@AbderrahmanFodili Жыл бұрын
This was an amazing talk . Just what I need right now
@kaibe5241
@kaibe5241 Жыл бұрын
Really great talk, thank you, Jake :)
@RobinDesBles
@RobinDesBles Жыл бұрын
Awesome talk!
@JacobBennetts
@JacobBennetts Жыл бұрын
Appreciate that!
@kpomeru
@kpomeru Жыл бұрын
This is so insightful.
@SusantPaudelfab
@SusantPaudelfab Жыл бұрын
this talk really solved my irritative problem. hope to see more from laravel team.
@freesgen
@freesgen Жыл бұрын
Amazing talk dude, thanks for sharing
@JacobBennetts
@JacobBennetts Жыл бұрын
My pleasure.
@7924a
@7924a Жыл бұрын
Hey, can you share link to state machine package (no spatie, second one) you mentioned in talk please?
@whchi9252
@whchi9252 Жыл бұрын
really good talk!
@JacobBennetts
@JacobBennetts Жыл бұрын
Thank you!
@thurstonlevi
@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
@shafqatalinawaz3868 Жыл бұрын
Brilliant ❤
@hermanceaser
@hermanceaser Жыл бұрын
Wow, Dude you are magician 😟
@JacobBennetts
@JacobBennetts Жыл бұрын
Haha, its true! Love me some good card magic!
@exikoz
@exikoz 6 ай бұрын
​@@JacobBennettsThank you so much for this awesome presentation.
Effective state machines for complex logic by David Khourshid (Effect Days 2024)
30:05
Effect | TypeScript at Scale
Рет қаралды 6 М.
Their Boat Engine Fell Off
0:13
Newsflare
Рет қаралды 15 МЛН
«Жат бауыр» телехикаясы І 26-бөлім
52:18
Qazaqstan TV / Қазақстан Ұлттық Арнасы
Рет қаралды 434 М.
Air Sigma Girl #sigma
0:32
Jin and Hattie
Рет қаралды 45 МЛН
Diana Scharf "Inertia.js" - Laracon US 2023 Nashville
28:28
Do This Instead Of Representing State With Booleans
12:23
Joy of Code
Рет қаралды 116 М.
Marcel Pociot "Native PHP" - Laracon US 2023 Nashville
30:13
Refactoring real-world Laravel app. Who wrote THIS CODE?!
28:02
Przemysław Przyłucki
Рет қаралды 10 М.
"Resisting Complexity" - Adam Wathan - Laracon US 2018
36:11
Adam Wathan
Рет қаралды 25 М.
Laravel's secret weapon: macros (watch me code)
23:46
Aaron Francis
Рет қаралды 24 М.