Lucky like a 7 — Seven SymfonyCasts Courses to Master Symfony 7
Tags: symfony, symfonycasts, stimulus, apiplatform
Published: 2024-04-27 16:44:26

This article first appeared [on Symfony Station](https://symfonystation.mobileatom.net/lucky-7-symfonycasts-symfony-7).

Symfony is unbeatable when it comes to building complex and scalable web applications. Be they sites, services, an API, or Spotify. It's a fantastic weapon in your PHP programming skills arsenal. So, breakout you laptop and put your thinking helmet on. *This is the way* to learn modern Symfony and slay your PHP space demons. 👾
  
## Introduction  
  
I am sure you have heard of Symfony, but if not, here is how it describes itself:  
  
"Symfony is a set of PHP Components, a Web Application framework, a Philosophy, and a Community — all working together in harmony".  
  
There you go.  
  
But, it's not simple. Symfony has a large learning curve (unless you are just building a traditional site with it). As the quote above implies, you can take the framework, insert the components (and bundles) you need, hook it into APIs and frontend frameworks, and build anything you can imagine.  
  
### Strategy for learning Symfony  
  
So, if you are new to Symfony, it's best to have a strategy for learning it.  
  
I think you should start with the SymfonyCasts courses in this article. Supplement them with the great documentation available from Symfony. Then go through the official Symfony book and build the project featured in it.  
  
Then if you are super serious you can join SensioLabs University. And maybe even take certification tests.  


## SymfonyCasts  
  
But today, we are only exploring the [SymfonyCasts](https://symfonycasts.com/) portion of the strategy.  
  
As you will see, it is a superb learning platform. And it has a super enthusiastic and entertaining presenter. He's a Symfony core contributor and is responsible for the things I love best about the platform like its UX functionality, Asset Mapper, and much more. Unfortunately, he has had [a terrible development in his personal life](https://symfonycasts.com/blog/ryan-brain-cancer). Read this now.  
  
This sad situation has prompted me to get this article published before I planned. I want you to do one thing after finishing it. Please [subscribe to SymfonyCasts](https://symfonycasts.com/signup) and help Ryan Weaver and his family out. I am not getting anything out of this other than karma points. At a minimum, please [donate to help his wife and son](https://www.gofundme.com/f/support-ryans-brain-cancer-battle). You won't regret it.  
  
You can also check out [my SymfonyCasts profile](https://symfonycasts.com/u/mobileatom) if you need verification of what I am writing about or to sample a profile. I need to take more courses btw. 
  
Here are the courses we will explore:  
  
- [Cosmic Coding with Symfony 7](https://symfonycasts.com/screencast/symfony/resume)  
- [Symfony UX: Stimulus](https://symfonycasts.com/screencast/stimulus)  
- [30 Days with Last Stack](https://symfonycasts.com/screencast/last-stack)  
- [AssetMapper: Modern JS with Zero Build System](https://symfonycasts.com/screencast/asset-mapper)  
- [EasyAdmin! For an Awesomely Powerful Admin Area](https://symfonycasts.com/screencast/easyadminbundle)  
- [Go Pro with Doctrine Queries](https://symfonycasts.com/screencast/doctrine-queries)  
- [API Platform 3 Part 1: Mythically Good RESTful APIs](https://symfonycasts.com/screencast/api-platform/resume)  
  
With all the courses, you can download the course script and code.

And obviously, more specialized and detailed information is available in [the Symfony docs](https://symfony.com/doc/current/index.html).  


![Illustration of astronaut cat from SymfonyCasts homepage](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4yezw8rmszsxbx8fstqr.png)

### Symfony 7  
  
Let's begin with [Cosmic Coding with Symfony 7](https://symfonycasts.com/screencast/symfony/resume). This one is free by the way.
  
Here is Ryan's description:  
  
"Symfony 7, yes! If you're ready to get serious about web dev - whether you're building a JSON API or a rich web app - you've come to the right place! Symfony is the famous backbone for the most popular PHP libraries, embraces object-oriented best practices and... it's just fun to use!  
  
I want you to feel dangerous with Symfony and love the process! In this tutorial, we get to learn the fundamentals of Symfony, build real stuff and learn the how and why behind how things work."  
  
Pay attention to the:  
  
- The PhpStorm integration  
- Recipes  
- Twig  
- Services  
- Asset Mapper  
- and Stimulus  
  
I have not taken this course yet, but I have taken and reviewed the, [SymfonyCast’s Free “Harmonious Development with Symfony 6” course](https://symfonystation.mobileatom.net/Harmonious-Development-Symfony-Course-Review).   
  
The Symfony 7 course will be very similar.  
  
### Symfony UX  
  
Next up is [Symfony UX: Stimulus](https://symfonycasts.com/screencast/stimulus).  
  
Ryan says:  
  
"Symfony UX is all about helping you build better JavaScript interfaces faster.  
  
The first piece of UX is Stimulus: a JavaScript library built around the idea that your server should return HTML. Stimulus gives you the ability to add JavaScript to any part of your page in an object-oriented way that you will love."  
  
I have written about this extensively:  
  
[Discover Symfony UX’s Twig Components. UI without JS or BS.](https://symfonystation.mobileatom.net/twig-components-symfony-ux)  
  
[Discover Symfony UX. UI with Stimulus = fewer JS headaches for you](https://symfonystation.mobileatom.net/symfony-ux-stimulus-js-ui)  
  
[Discover Symfony UX. Turbo lets you put SPAs in the Rearview Mirror.](https://symfonystation.mobileatom.net/symfony-ux-turbo)  
  
These articles include the two other SymfonyCasts you should also take before you take the LAST stack course. T&T, aka Twig and Turbo.  
  
Pay particuluar attention to controllers.  
  
Be sure to check out the Symfony docs for more information -> [StimulusBundle: Symfony integration with Stimulus](https://symfony.com/bundles/StimulusBundle/current/index.html)  
  
### Asset Mapper  
  
[AssetMapper: Modern JS with Zero Build System](https://symfonycasts.com/screencast/asset-mapper) may be my favorite Symfony innovation of all time.  
  
Ryan asks:  
  
"Ever wanted to just... write modern JavaScript and have it work without needing to fuss with a build system?  
  
Me too! And finally - thanks to advances in the web, web servers and a new component from Symfony, it's possible! Hello AssetMapper!"  
  
I have taken and reviewed, [Join us as we explore the strange new world of Symfony’s AssetMapper via SymfonyCast](https://symfonystation.mobileatom.net/AssetMapper)  
  
Peruse the Symfony docs for more information -> [AssetMapper: Simple, Modern CSS & JS Management](https://symfony.com/doc/current/frontend/asset_mapper.html)  
  
  
### LAST Stack  
  
In [30 Days with LAST Stack](https://symfonycasts.com/screencast/last-stack) Ryan claims "LAST stack - Live Components, AssetMapper, Stimulus & Turbo - puts the joy, productivity & simplicity back into creating rich, frontend experiences."  
  
As usual, he is correct.  
  
I just finished this one. It was both awesome and bittersweet.  
  
The docs have more in [Live Components](https://symfony.com/bundles/ux-live-component/current/index.html),  [AssetMapper: Simple, Modern CSS & JS Management](https://symfony.com/doc/current/frontend/asset_mapper.html),  [StimulusBundle: Symfony integration with Stimulus](https://symfony.com/bundles/StimulusBundle/current/index.html), and [Turbo: Lightning Fast Single-Page-Application Experience](https://symfony.com/doc/current/frontend/encore/simple-example.html#turbo-lightning-fast-single-page-application-experience "Permalink to this headline").

### Easy Admin  
  
[EasyAdmin! For an Awesomely Powerful Admin Area](https://symfonycasts.com/screencast/easyadminbundle) is a bundle you should use to build your admin for your backend.  
  
Ryan says:  
  
"So... your site needs an admin area. Do yourself a favor and skip all that custom code and jump straight into EasyAdmin bundle. Why #1? Because it'll take you a fraction of the time to build what you need. Why #2? Because it'll be even better than what you would build by hand, including built-in widgets for auto-completion and toggling boolean fields. It's... pretty sweet."  
  
I just started this one.  

Visit [EasyAdmin](https://symfony.com/bundles/EasyAdminBundle/current/index.html) for the documentation.

### Doctrine Queries  
  
According to Wikipedia, "Object–relational mapping (ORM, O/RM, and O/R mapping tool) in computer science is a programming technique for converting data between a relational database and the heap of an object-oriented programming language. This creates, in effect, a virtual object database that can be used from within the programming language."  
  
Symfony uses Doctrine for its ORM and the course to start mastering it is [Go Pro with Doctrine Queries](https://symfonycasts.com/screencast/doctrine-queries)  
  
Ryan exclaims:   
  
"You already know how to query with SQL, so learning how to do complex queries with Doctrine should not be a pain! In this tutorial, we'll learn about:  
  
- the language Doctrine speaks (DQL)  
- the QueryBuilder object  
- JOINs! And using them to reduce queries  
- SELECTing specific fields instead of entire objects  
- If all else fails, run raw SQL queries!  
- Using Criteria to efficiently filter relation collections  
  
And more! Let's see what kind of crazy queries we can create!"  
  
I have not taken this yet. But, I could probably get the gist of it.  
  
Scour the Symfony docs for more information -> [Databases and the Doctrine ORM](https://symfony.com/doc/current/doctrine.html)  
  
### API Platform  
  
Technically [API Platform](https://api-platform.com/) is not part of Symfony. Although, they are both French. 😉  
  
They say:  
  
"API Platform contains [a **PHP** library (Core)](https://api-platform.com/docs/distribution/) to create fully featured hypermedia (or [GraphQL](https://api-platform.com/docs/core/graphql/)) web APIs supporting industry-leading standards: [JSON-LD](https://json-ld.org) with [Hydra](https://www.hydra-cg.com), [OpenAPI](https://api-platform.com/docs/core/openapi/), etc.  
  
API Platform also provides ambitious **JavaScript** tools to create web and mobile applications based on the most popular frontend technologies in a snap. These tools parse the documentation of the API (or of any other API supporting Hydra or OpenAPI).  
  
API Platform is shipped with **[Docker](https://api-platform.com/docs/deployment/docker-compose/)** and **[Kubernetes](https://api-platform.com/docs/deployment/kubernetes/)** definitions, to develop and deploy instantly on the cloud."  
  
I recommend the Vue route for your frontend.  
  
The Symfony course to begin mastering  it is [API Platform 3 Part 1: Mythically Good RESTful APIs](https://symfonycasts.com/screencast/api-platform/resume)  
  
Ryan says:  
  
"API Platform is, very simply, a tool on top of Symfony that allows us to build powerful APIs and love the process! It's been around for years and, honestly, it's crushing it. They have their own dedicated conference and, they've really outdone themselves with the latest version 3."  
  
I have not taken this yet as it's currently beyond my skill level.  

API Platform [has extensive documentation](https://api-platform.com/docs/distribution/).

### Bonus for the Frontend  
  
At SymfonyCon Paris, I was particularly impressed with  
[Netgen Layouts: Building Pages with Symfony](https://symfonycasts.com/screencast/netgen-layouts).  
  
Fortunately, there is a SymfonyCasts course on it.  
  
Ryan says:  
  
"Netgen Layouts is about having your 🎂 - i.e. any Symfony app - and eating it too... by allowing you to rearrange your pages and mix in dynamic content via an admin area. Yup, your Symfony app & Twig templates + the power of a CMS tacked into the side. And all of this is done in a gently way, without "taking over" your app."  
  
Pay attention to Twig blocks, Ajax, and mapping.  

Learn more in [their documentation](https://docs.netgen.io/projects/layouts/en/latest/).


![Symfony book cover](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6qrehvtkllnsoqbrwrv7.png)

## The Book  
  
After you have taken these seven courses, and maybe the bonus course, you are ready for the Book.  
  
Not the Bible, but a much more important book.  
  
Symfony's Founder, Fabien Ponticier authored and continually updates: [Symfony: The Fast Track](https://symfony.com/book).  
  
It's described with this:  
  
"Learn how to combine Symfony with Docker, APIs, notifications, queues & asynchronous tasks, Webpack, Single-Page Applications, and other powerful tools. By the end of this book, you'll have the confidence, understanding and a clear path to dive in and start building your next application with Symfony."  
  
It's currently for Symfony 6, but I am sure the Symfony 7 edition is coming soon.  


![Screenshot of SensioLabs score chart](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jrn9hzobq2hw7ylsojaj.png)

## SensioLabs  
  
Finally, if you're really serious about this and have some cash to invest, check out [SensioLab University](https://university.sensiolabs.com/e-learning-platform). Unlike Trump University, it's not a fraud, and you will learn something. In other words it will benefit your career and bank statement.  
  
With it you will "get trained with the creator of the Symfony framework."  
  
## Wrapping it Up  
  
Alright, as you have seen Symfony competence is valuable but not simple.  

Taking SymfonyCasts courses is an enlightening and entertaining way to build your skills.
  
It's worth the effort of learning and my strategy can get you started. With a little more time invested, your efforts will lead to mastery and all the rewards that entails.  
  
I hope you subscribe to SymfonyCasts and take a few courses at a minimum. It has a lot to offer. And it's money well spent, both for yourself and Ryan and his family.  
  
Happy learning (and programming) Symfonistas!

## Author  
  
![Reuben Walker headshot](https://symfonystation.mobileatom.net/sites/default/files/inline-images/Reuben-Walker-headshot.jpg)  
  
### Reuben Walker  
  
Founder  
Symfony Station