Web Development


Introduction to web development with Symfony2

Learn to develop a complete application from scratch using Symfony, the most complete PHP framework.

3.90 (59 reviews)


3.5 hours


Dec 2018

Last Update
Regular Price

What you will learn

In this course you will learn to use the most important features of the framework and to face the most common problems that appear in a big web project

You will be capable to develop a web application from scratch with Symfony2


UPDATE 2016-04: The course has been updated for Symfony 2.8 LTS

This course is an introduction to web development with Symfony, the most complete PHP framework.

It consists of videos where you can follow the creation of a complete web application from scratch and step by step: a blog, including an administration area.

It's 4 hours length, but if you want to practice while you learn, you will take more time, which I recommend.

The course is globally structured this way:

  • Setting up the development environment
  • Generating the core bundle for the public part (frontend)
  • Generating the model bundle for the business logic (interactions with the database)
  • Generating the administration bundle, to manage posts and authors (backend or backoffice)
  • Refactoring code to modularize and organize it better, using the flexibility of the service container
  • Make use of the URLs to select the language

During the course I will emphasize test driven development, using the industry standard: PHPUnit.

Also, you can find the resulting application in GitHub (it's in the latest lecture, you can check it out even if you are not enrolled in the course). It uses git tags so you can see how the code looks like at the end of each lecture.

If you are a PHP developer and you want to step up to the next level using a framework, or if you already know Symfony or another framework and you want to review and go in depth, this is your course. An introduction that will give you the tools to create an application easily, making use of good practices.

Once you have joined the course I will answer your questions about the contents.


Introduction to web development with Symfony2
Introduction to web development with Symfony2
Introduction to web development with Symfony2
Introduction to web development with Symfony2


Course introduction

Symfony2 features that we will cover

IDE and PHP version

Course notes and updates

Setting up the development environment

Setting up the development environment

Reviewing the official book

Preparing the project

Creating the project

A quick look at the project configuration

Configuring Composer

Removing the AppBundle sample bundle

The first bundles

Generating the CoreBundle

Generating the ModelBundle

Setting up the database through Doctrine 2

Creating the database

Generating the Post and Author entities

Generating our first migration

Populating the database with fixtures

The main page with the posts list

Generating the list controller

Writing our first test

Installing PHPUnit and running the suite test

Trying it out in the browser and having look at the debug toolbar

Customizing the main layout with Twig

Creating the layout and the i18n files for the CoreBundle

Creating the CSS for the CoreBundle and installing assets

Retouching the controller test

Iterating over Twig posts, using partials and the Twig extensions

Adding a sidebar for the latest posts

Installing Doctrine Extensions to add a slug to the post

Refactoring Timestampable to use Doctrine Extensions

Adding an updated field for posts

The post page

Writing a test to load a post

Creating the controller action

Creating the template

Setting the final routes in the list

The author page

Generating the controller

Creating the repository

Adding the Sluggable behavior

Writing a test to check the author posts list

Writing the method

Writing the template

Adapting links in the main and post pages

Controlling the case of an author with no posts and linking to the main page


Creating the Comment entity

Using fixtures to create example comments

Writing a test to check that comments are showing up

Creating a partial to show comments

Showing the number of comments by post

Writing a test for the creation of a comment

Generating a Doctrine FormType

Creating the Create action and adding the form in the template

Adding a CSS for the form

Implementing the comment Create action

Setting up security for the administration zone

Generating the AdminBundle

Creating the security controller

Adding a layout and CSS for the AdminBundle

Adding the administrator and configuring the firewall

Authors administration

Generating the CRUD

Cleaning the generated controller by the CRUD

Adding the route to the AdminBundle header

Adapting the test

Creating the login template

Cleaning the generated templates by the CRUD

Adapting the AuthorType and the controller

Testing the authors administration

Posts administration

Generating the CRUD

Adapting the test

Adapting the PostType

Cleaning the controller

Adding the route to the AdminBundle header

Cleaning templates and testing the posts administration

Creating a logout for the AdminBundle

Adapting the firewall

Creating the action in the security controller

Adding the route to the AdminBundle header

Creating a redirection for the AdminBundle default route

Writing the redirection test

Adapting the controller

The service container


Creating our first service for the author

Refactoring the author controller

Creating a service for the post

Refactoring the post controller

Refactoring the comments creation

URL internationalization

Adapting the tests

Adapting the controllers

Checking out the result in the browser


Bonus: Fixing the comments date

Building on the learned topics

Source code


Paulo7 October 2017

David made a great course, but I miss Exercises, to be more confortable with the new stuff. Mybe can David expande this tutorial with this

Federico3 July 2017

Good teacher but this course should be updated to the latest symphony release because many things changed and this gets harder to follow the lessons. anyway my opinion still is very good on this court and of course on the teacher.

Oskars29 March 2017

Great material. Though, you have to have some prior knowledge of Symfony, as the content is definitely not for beginners. Nevertheless, with some background, course provides great insight to what Symfony is capable of and author gives very good step by step description.

Jon27 December 2016

Fairly good course. The instructor moves on a little too fast after typing in code or instruction. A brief pause would enable the student to read the code input.

Nour8 September 2016

Instructor doesn't include instruction or where to get proper instructions on how to install some of the required tools such as PHPUnit, Brew and so on. In addition to the lectures begin without introducing what is going to be illustrated and I have to pause and check the title each time plus most of the times, instructor doesn't elaborate the purpose of the things being done before doing them so it seems like students follow blindly what they see without knowing what is this good for. Another thing which is really annoying is that the main fundamentals of the framework are not illustrated beforehand. So I had to go by myself and look for them on my own. So there is no sense in naming this course Introduction to web development with symfony if you're not explaining how it works from a high level first.

Marina19 August 2016

The course is outdated specially regarding forms and security, author doesn't explain how the Symfony really works and just comment the lines of code he creates

Dante4 June 2016

Instructor is little fast and not reasoning enough on the content. The content is more oriented as instructions and less of reasoning

Nikolai9 May 2016

Great course, but is it possible to provide git repository for each leacture? this could be implemented as tags . Because I've made a lot of misprints during lecture. I've fixed them only after I've downloaded future lectures and removed unnecessary parts.

Miroslav8 April 2016

This is by far the worst course I have tried so painfully to watch.. The guy basically smashes through the course like as if you already know it and doesn't explain anything at all.. So I don't understand the point of it the "Course.." instead Just says "do this and do that.." writing a whole bunch of code that wouldn't make any sense to anyone that is actually trying to understand what he's talking about.. My advice, find a better tutorial and don't waste your money or time.. I've already wasted 5 hours just trying to keep up and had enough.. and you can barely understand the guy too

Luis27 February 2016

Excellent content. The course author shows about TDD, which is amazing. I only wish he'd explain a little better about what he's doing this, or where is "that" from, and this kind of things. Overall, amazing course.

Ricardo19 February 2016

Author didn't explain all details. I learning copying and doing all lessons. This is below my expectations.

Robert29 August 2015

very indepth, and the lecturer is really going above and beyond with the features that symfony2 has to play with. His blog example could have been created in a simpler fashion, not using any sub templates, not teaching you about fixtures, or even setting up any tests. However, he's put in the extra effort to record this, explain it, and teach it to us. This course is very much worth enrolling in, and shows why udemy is much better than web blog tutorials and youtube. (Waiting to see what this lecturer does next)

Gintare9 April 2015

Thank you a lot for such a useful course! If you want to understand what is Symfony, this course explains it from the basics to complicated issues. Additionally, it is delivered very concise - it saves a lot of time of studying. Provided project code also saves lot of time on debugging.

Ian25 January 2015

Thanks for a great course, David. I am a fairly experienced PHP/WordPress developer. I had to crash course Symfony2 for a new project, and your course helped me to understand the basic architecture of Symfony and its components. Having said that, anyone thinking of taking this course should first familiarise themselves with OO programming in PHP. David does not explain OO concepts (it isn't the scope of this course) - so if you're completely foreign to design patterns and OOP in general, you'll be pretty lost.


Udemy ID


Course created date


Course Indexed date
Course Submitted by