Flag of Ukraine
SymfonyCasts stands united with the people of Ukraine

30 Days with LAST Stack


What you'll be learning


This course is 100% free through January 15th. Enjoy! https://symfonycasts.com/blog/30-days-last-stack-free

LAST stack - Live Components, AssetMapper, Stimulus & Turbo - puts the joy, productivity & simplicity back into creating rich, frontend experiences. And in 30 days, I'll prove it:

  • Day 1: LAST Stack
  • Day 2: App Setup
  • Day 3: AssetMapper install
  • Day 4: Module Basics
  • Day 5: 3rd party packages
  • Day 6: CSS
  • Day 7: Tailwind!
  • Day 8: Stimulus
  • Day 9: UX Package
  • Day 10: Turbo Drive
  • Day 11: Turbo Frames
  • Day 12: Popover
  • Day 13: Data tables
  • Day 14: Data tables in frames
  • Day 15: Auto-submit form
  • Day 16: Debouncing
  • Day 17: View transitions
  • Day 18: Toast Flash Notifications
  • Day 19: Disappearing Toasts
  • Day 20: Closeable Things with Transitions
  • Day 21: Add to List without Refresh
  • Day 22: Modal
  • Day 23: Modal to Add Voyage
  • Day 24: Twig Components
  • Day 25: Modal Component
  • Day 26: Live Component
  • Day 27: Live Component real-time validation
  • Day 28: Dynamic Forms
  • Day 29: "Add New" from a form
  • Day 30: Testing!


Your Guides

Ryan Weaver

Join the Conversation?

Login or Register to join the conversation
Fabrice Avatar
Fabrice Avatar Fabrice | posted 3 days ago

Hey! I've never used Turbo before but I can't wait to discover it on your training!

I already have a first question. Is it possible to use Turbo on EasyAdmin? :)


Hey Fabrice,

In theory, it should be possible, you should just enable it for those pages in the way we show in our Turbo tutorial: https://symfonycasts.com/screencast/turbo . Though if you watched that course - sometimes Turbo may have some edge cases, that you would need to handle. What I mean is that I haven't done that myself yet, so can't say for sure, but you can easily try it out if you're interested in it and see if it works for you, but be ready to fix some edge cases.


Fabrice Avatar

Okay thank you!


Hey @Fabrice!

We'll talk a bit in this tutorial about how Turbo is great, but how you may not be able to enable Turbo Drive immediately in a legacy application. But, Turbo is 2 other pieces (Frames & Drive) and those are much easier to enable even in those situations.

About EasyAdmin, I get this question from time-to-time. I think that EasyAdmin itself will need to update how its JavaScript is organized a bit to allow for Turbo to be used. I would LOVE to see this happen and even help with it. As you'll see in this tutorial, we could do some really nice things like modals, etc easily in EasyAdmin if it embraced Turbo.


Ruslan Avatar

Please, spend enogh time for "Testing" without it it's just toys.
Thank you.


Hey Ruslan,

Thank you for your feedback! What exactly testing are you talking about? The bundles we're using in this course are tested and have tests, you can see it in its repos. Or do you want to see the testing topic covered by this tutorial? Could you give us more context please?


Ruslan Avatar

I saw it and it's greate.
I woud like to highlite what 'Testing' is important part in each project, and will be good to see best practice for it.

Thank you.


Hey Ruslan,

I see what you mean. Unfortunately, I'm not sure testing will be covered with this tutorial, that's a completely different topic that requires its own tutorial. There are a lot of testing tools in JS that may help you with it, but mostly you can test it even with Behat/Panther - those tools help you to test UI in a real browser that executes JS, so you literally can open a JS popup, press buttons, send AJAX requests, wait for responses, etc. We have a useful blog post here: https://symfonycasts.com/blog/behat-panther . Also, we have a separate tutorial about Behat testing: https://symfonycasts.com/screencast/behat

I hope that helps!


1 Reply

I WILL spend some time near the end of this tutorial on testing - I have at least 1 day scheduled for it :). I don't know how far we'll get into it (I haven't written this part), but I want to make something real-world & usable.


1 Reply
loevgaard Avatar
loevgaard Avatar loevgaard | posted 17 days ago

When is this coming? Really looking forward to it!


Hey @loevgaard ,

Thank you for your interest in SymfonyCasts tutorials! Right now, we're actively working on it :) According to our roadmap: https://symfonycasts.com/courses?status=upcoming&sort=popular#all - it should be the next tutorial that we will start releasing, so it will happen shortly after we finish releasing the "PHPUnit Integration Testing" course.


1 Reply
loevgaard Avatar

Thanks :)


I can't wait to see the part about modals. Will it be with the dialog element?


dialog is my plan right now, yup! But we'll see once I get to coding that part :)

2 Reply
Jerzy Avatar

I really look forward to this!

Fabrice Avatar
Fabrice Avatar Fabrice | posted 27 days ago

Oh my God! Did I read it correctly? Are you going to implement DataTable? It's awesome ! This bookstore alone deserves training because it allows you to do so many things!

Seeing her in this training makes me really happy! I wonder how it will be used (in combination with Live Component??)

Can’t wait to see this training, it’s going to be great!


Oh my God! Did I read it correctly? Are you going to implement DataTable? It's awesome !


I wonder how it will be used (in combination with Live Component??)

You CAN do it with this - especially once we merge https://github.com/symfony/ux/pull/1230 - but I'm planning to do it entirely with Turbo frames

Can’t wait to see this training, it’s going to be great!

Me too!

1 Reply
Nick-F Avatar

This looks sick. I've worked with stimulus and turbo for a while, implemented one feature using live components in my SaaS but haven't dug very deep because it's kind of hard to know where live components are superior to stimulus. I do love mercure too, I hope this touches on that.
I'm about to ramp up dev on a new SaaS and would love to implement the new concepts from this course, especially Asset Mapper, which I haven't touched at all.
Any idea of the release timeline?

Victor Avatar Victor | SFCASTS | Nick-F | posted 27 days ago | edited

Hey Nick!

In general, the idea is to try to stop using Stimulus for simple things that could be done via Live Components... because it's like you're just "reinventing the wheel", you send (in theory) more time to implement the same that already implemented in Live Components, you flood your JS code with more files (Stimulus controllers), etc. So, Live components clearly have some benefits in some cases, you only need to know more about live components, how they work, and what they can do for you. So, in short, you can leave Stimulus for more complex unique cases that cannot be done with Live Components (when they are not enough to implement it).

AssetMapper is also a cool thing, and it helps you to avoid using NodeJS to build your assets, that's why it's cooler than Webpack Encore. For most of websites, Assets Mapper would be enough, and you can switch to it from the Webpack Encore (though it will require some work). In case you really work with Node in your app, then yeah, better to stick to Webpack Encore then. I would recommend you to watch the course about it: https://symfonycasts.com/screencast/asset-mapper - it will be much clearer for you if you need Webpack Encore, or if you can simplify and speed up your building assets process a lot with Asset Mapper :)

P.S. Some super secret info - we use Webpack Encore on SymfonyCasts, but we're planning to switch to AssetMapper instead (because it's just awesome), and we do have a lot of JS assets, Stimulus controllers, etc. behind the scene :)


Cat in space

"Houston: no signs of life"
Start the conversation!