Symfony 3 Tutorial Tracks

New To Symfony 3? Start Here!

I'm not going to try and sell you too hard on Symfony. Instead, I believe that once you start using the Symfony framework then the benefits will become quickly evident.

With that in mind, the very first course I would recommend to you is the:

Beginner Friendly Hands-on Symfony 3 Tutorial

By the end of this series you will have hands-on experience with:

  • Symfony 3
  • Routing
  • Twig / Templates
  • Bootstrap
  • Symfony Services
  • Guzzle / API interactivity

You don’t need a GitHub profile to take part in this course. You can use anyone’s profile. No excuses! Get learning, and welcome to Symfony 3 :)

If you'd prefer to learn Symfony 2, try the Beginner Friendly Symfony 2 tutorial.


Ready To Learn More?

If you've completed the Beginner Friendly Hands-on Symfony 3 Tutorial, or you have the equivalent knowledge, it's time to start diving a little deeper into two of the most commonly used components:

Working With Your Database (Doctrine)

Doctrine enables you to create, read, update, and delete records from your database.

This is pretty much essential knowledge for any developer who needs to get things done.

Doctrine has a ton of unusual terms like hydration, persistence, fixtures, migrations, annotations… and without much context, it can be really confusing at first to figure out what they all mean.

We’ll go through an example of scraping Reddit’s PHP subreddit to explain a large number of these terms, and also in the process start relating entities together, and optimising our queries.

We also cover Doctrine’s Query Builder, and Doctrine Query Language (DQL), and discuss when might be appropriate to use one or the other.

This beginner friendly short course is all about demystifying Doctrine, and getting your started – quickly – with some hands on exercises to cover the basics of working with your database in Symfony 3.


Hands On With Symfony Forms

Symfony’s form component is incredibly versatile.

However, initially it can be a source of confusion.

In this course we cover the fundamentals of using the form – concepts which if you do not know or understand will make life much more difficult for you when you get to the more complex form types that Symfony can offer.

We start with a basic contact form, and then move on to adding and editing records in our database using Doctrine entities.

From there we will cover:

  • form styling – particularly integration with Bootstrap 3
  • form customisation
  • form fragments
  • data validation

And then on to a selection of examples which cover how to use Symfony’s form in a number of more realistic / real world ways.


Going Further With Symfony 3

These tutorials are aimed at Symfony developers who are comfortable with the basics of a Symfony project and are ready to start combining Symfony with a modern front-end framework such as React, or Angular JS.

Symfony 3 with React JS and Angular 1

Firstly we will create a typical Symfony 3 with Twig CRUD implementation. This is quick to create, but comes with a set of limitations inherent to any code where changes only happen on the server-side.

Next, we will create a Symfony 3 API using FOSRESTBundle, exposing GET, POST, PUT, PATCH, and DELETE actions.

From here we will create two different front ends - one using Angular 1, and another using React JS. You can adapt this to any front end framework you like - Vue, Angular 2, React Native, or whatever you prefer.

You can take this implementation further, learning how to implement Pagination, Filtering, and Sorting in a follow-on course.

If you'd prefer, you can create an API using Symfony 2 in this tutorial series.


Testing Symfony 3 REST API with Behat 3 & PHPSPec 2

As your API grows in complexity a working test suite is the only way to maintain your sanity.

In this series we code a Symfony 3 API from scratch using Behat 3, and PHPSpec 2 to guide our implementation.

Along the way we will add in user management with FOSUserBundle, and add JSON Web Tokens (JWTs) for authentication.

We cover how you might accept file uploads, and a way to store them on any filesystem you like - from Amazon S3 to Dropbox, FTP, or your server's hard disk.

Where Do I Go From Here?

With 421 videos to watch in 56 courses, there's plenty more for you to enjoy

Start Watching