Jake Bennett "State Machines" - Laracon US 2023 Nashville

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

Laravel

Жыл бұрын

In this enlightening session, "State Machines," Jake Bennett delves into the world of state machines and their applications in Laravel and PHP development.
As a seasoned developer and expert in the field, Bennett unravels the concept of state machines and how they can be leveraged to manage complex workflows and state transitions within applications. With practical examples and real-world use cases, gain valuable insights into implementing state machines in Laravel projects to achieve better organization, maintainability, and scalability.
Whether you're a seasoned developer looking to optimize your application's architecture or a newcomer interested in learning about state machines, this talk equips you with the knowledge to elevate your Laravel projects to new heights.
Recorded Live at Marathon Music Works on July 19th, 2023.

Пікірлер: 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!
@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 😅
@tmanley1985
@tmanley1985 4 ай бұрын
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!
@tomaserlebach9760
@tomaserlebach9760 Жыл бұрын
This is so awesome! Everydayproblem solved with a simple solution. Thanks for that!❤
@FarazSamapoor
@FarazSamapoor Жыл бұрын
Great talk and superb presentation! Thank you, Jake!
@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!
@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.
@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 🙌
@AbderrahmanFodili
@AbderrahmanFodili Жыл бұрын
This was an amazing talk . Just what I need right now
@kalvinniam7185
@kalvinniam7185 8 ай бұрын
This is amazing!
@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).
@SusantPaudelfab
@SusantPaudelfab 10 ай бұрын
this talk really solved my irritative problem. hope to see more from laravel team.
@kaibe5241
@kaibe5241 Жыл бұрын
Really great talk, thank you, Jake :)
@kpomeru
@kpomeru Жыл бұрын
This is so insightful.
@freesgen
@freesgen Жыл бұрын
Amazing talk dude, thanks for sharing
@JacobBennetts
@JacobBennetts Жыл бұрын
My pleasure.
@RobinDesBles
@RobinDesBles Жыл бұрын
Awesome talk!
@JacobBennetts
@JacobBennetts Жыл бұрын
Appreciate that!
@whchi9252
@whchi9252 Жыл бұрын
really good talk!
@JacobBennetts
@JacobBennetts Жыл бұрын
Thank you!
@7924a
@7924a Жыл бұрын
Hey, can you share link to state machine package (no spatie, second one) you mentioned in talk please?
@shafqatalinawaz3868
@shafqatalinawaz3868 Жыл бұрын
Brilliant ❤
@hermanceaser
@hermanceaser Жыл бұрын
Wow, Dude you are magician 😟
@JacobBennetts
@JacobBennetts Жыл бұрын
Haha, its true! Love me some good card magic!
@exikoz
@exikoz 4 ай бұрын
​@@JacobBennettsThank you so much for this awesome presentation.
Do you choose Inside Out 2 or The Amazing World of Gumball? 🤔
00:19
规则,在门里生存,出来~死亡
00:33
落魄的王子
Рет қаралды 28 МЛН
This mother's baby is too unreliable.
00:13
FUNNY XIAOTING 666
Рет қаралды 28 МЛН
How To use Adobe Photoshop cc In photo edit
0:41
Nadeem HD Tech
Рет қаралды 661 М.
Самый дорогой iPHONE 16 PRO MAX #shorts
0:58
Арсений Петров
Рет қаралды 2,7 МЛН
Hardware tools repair tool high performance tool
0:16
Hardware tools
Рет қаралды 3,8 МЛН