
In this lecture, I’ll introduce you to the course, cover what the prerequisites are, and how to get the most out of the course.
In this lecture, I’ll guide you through installing all the required software so you can set up your development environment and start working with Symfony.
In this lecture, I’ll show you how to create a new Symfony project on your local machine.
In this lecture, I’ll show you how to run Symfony’s development web server so you can view and test your application in the browser.
In this lecture, I’ll show you how to create a controller for the homepage and return a response to the browser.
In this lecture, I’ll show you how to install the Twig template engine using Symfony Flex so you can start building dynamic views.
In this lecture, I’ll show you how to use template inheritance with layouts in Twig to reduce repetition and keep your views clean and maintainable.
In this lecture, I’ll show you how to use Symfony console commands and the Maker Bundle to quickly generate code and speed up development.
In this lecture, I’ll show you how to generate a controller and its corresponding template using the maker bundle.
In this lecture, I’ll show you how to define route names and restrict routes to specific HTTP methods in Symfony.
In this lecture, I’ll show you how to use route names to make your application code more reliable and easier to maintain.
In this lecture, I’ll show you how to output data in templates using Twig’s alternative syntax for cleaner and more readable views.
In this lecture, I’ll show you how to create a new database for your application and prepare it for use with Symfony.
In this lecture, I’ll show you how to install Doctrine ORM and configure the database connection for your application.
In this lecture, I’ll show you how to create an entity class to represent and manage data in your application.
In this lecture, I’ll show you how to use a migration to create a database table from your entity.
In this lecture, I’ll show you how to modify database tables by rolling back migrations and keeping your entities in sync with the database.
In this lecture, I’ll show you how to add development data to your database using special classes called fixtures.
In this lecture, I’ll show you how to retrieve data from the database using a Doctrine repository instead of using raw SQL. You'll also learn what the Symfony service container is.
In this lecture, I’ll show you how to display data in your templates using Twig syntax.
In this lecture, I’ll show you how to enable the debugging profiler to inspect and debug your application, getting a wealth of details about it to help with development.
In this lecture, I’ll show you different methods of extracting an ID from the incoming request so you can use it to load specific data.
In this lecture, I’ll show you how to retrieve a single record from the database using its identifier.
In this lecture, I’ll show you how to display a single record in your application using a template.
In this lecture, I’ll show you how to install the form package and create your first form to handle user input.
In this lecture, I’ll show you how to configure form options to control how your forms behave and are rendered.
In this lecture, I’ll show you how to display a form in a template and configure its HTML structure for proper rendering.
In this lecture, I’ll show you how to handle form submission and insert a new record into the database from the submitted data.
In this lecture, I’ll show you how to install the validator component and configure validation constraints to enforce rules on your form data.
In this lecture, I’ll show you how to add flash messages to responses to give users feedback after actions like form submissions.
In this lecture, I’ll show you how to retrieve and update an existing record in the database using a form.
In this lecture, I’ll show you how to safely delete an existing record from the database.
In this lecture, I’ll show you how to protect your application against Cross-Site Request Forgery (CSRF) attacks, by using the Symfony security package.
In this lecture, I’ll show you how to use shortcuts with the Symfony CLI to speed up common tasks.
In this lecture, I’ll show you how to create a new Symfony web application using the --webapp option for a preconfigured setup.
In this lecture, I’ll show you how to generate a CRUD controller with full create, read, update, and delete functionality.
In this lecture, I’ll show you how to add and manage relationships between entities using Doctrine.
In this lecture, I’ll show you how to create and save related objects using fixtures.
In this lecture, I’ll show you how to retrieve and display related entity objects using Doctrine associations.
In this lecture, I’ll show you how to use loop variables and partial templates in Twig to make your views cleaner and more reusable.
In this lecture, I’ll show you how to add related entity fields to a form so you can manage relationships through user input.
In this lecture, I’ll show you how to create a User entity and generate the corresponding database table.
In this lecture, I’ll show you how to send emails from your application using Symfony Mailer.
In this lecture, I’ll show you how to create a registration page so users can sign up for your application.
In this lecture, I’ll show you how to create login and logout pages to handle user authentication in your application.
In this lecture, I’ll show you how to add a user checker to restrict access for unverified users before they can use the application.
In this lecture, I’ll show you how to add a “remember me” option so users can stay logged in across sessions.
In this lecture, I’ll show you how to add a secure password reset form so users can safely regain access to their accounts.
In this lecture, I’ll show you how to restrict access to a page so only logged-in users can view it.
In this lecture, I’ll show you how to conditionally display links in Twig templates based on the user’s authentication state or permissions.
In this lecture, I’ll show you how to manage users through an admin interface using EasyAdmin.
In this lecture, I’ll show you how to configure and customise the EasyAdmin dashboard for your application.
In this lecture, I’ll show you how to configure the user admin index and form to manage user data in EasyAdmin.
In this lecture, I’ll show you how to configure the user admin form to edit existing users in EasyAdmin.
In this lecture, I’ll show you how to create an admin user and restrict access to admin features using roles.
In this lecture, I’ll show you how to add role management to the user form so you can assign permissions to users.
In this lecture, I’ll show you how to create an API controller and configure it to return stateless responses.
In this lecture, I’ll show you how to serialise database data into a structured format using the Serializer component.
In this lecture, I’ll show you how to retrieve a single resource from your API using its identifier.
In this lecture, I’ll show you how to create a new resource through your API and persist it to the database.
In this lecture, I’ll show you how to update an existing resource through your API and save the changes to the database.
In this lecture, I’ll show you how to delete an existing resource through your API and remove it from the database.
In this lecture, I’ll show you how to secure your API using access tokens for authentication.
In this lecture, I’ll show you how to create an API-only application using the --api option for a streamlined setup.
Symfony is a modern, powerful PHP framework that allows you to build secure applications quickly and easily. Symfony provides a rich set of libraries for common tasks, which lets you focus on your project by minimising the amount of code you need to write.
Using Symfony makes your PHP projects easier to write and maintain and more secure.
Learn how to build modern, structured web applications and APIs using Symfony, one of the most powerful PHP frameworks available today.
Understand how Symfony works and how it structures modern PHP applications
Set up a Symfony project and navigate its folder structure
Work with routing, controllers, and responses
Use services and dependency injection effectively
Connect to a database using the Doctrine ORM
Create, read, update, and delete data through entities and repositories
Handle forms, validation, and user input securely
Implement authentication and basic user roles
Build RESTful APIs
Follow best practices for clean, maintainable Symfony code
The essential skills required to understand and use the Symfony framework.
Developing PHP applications is faster and more secure if you use a framework like Symfony. Learning the right way to use Symfony puts a very powerful tool at your fingertips.
Content and Overview
This course is designed for developers who know PHP but don't know how to use Symfony. I designed the course for developers who want to develop full, feature-rich applications quickly and easily using the Symfony framework.
This course takes you from basic PHP knowledge to confidently working with Symfony’s core features, including routing, controllers, services, and database integration with Doctrine. Step by step, you’ll learn how real-world applications are built using Symfony's clean architecture and best practices.
Suitable for all PHP developers, you'll start by learning the core features of Symfony.
You'll learn how to organise your code the Symfony way, and how to work efficiently with it.
We'll build a full web application from scratch, with each concept explained in detail at every stage.
Throughout the course, we'll build code that you can reuse in all your projects.
All the source code developed in the lectures is available to download.
All the time we'll adhere to industry standards and best practices.
By the end of the course, you’ll be able to build your own Symfony applications, create RESTful APIs, handle user input safely, and understand how to structure maintainable PHP projects like a professional developer.
Complete with all the code shown in the lectures, you'll be able to work alongside the instructor and will receive a verifiable certificate of completion upon finishing the course.
Also, at all times throughout the course you have access to the instructor in the Q&A section to ask for help with any topic related to the course.
Enrol now and become a professional Symfony developer!