Course Objectives
In this 4-day training course 'Web Development with Symfony - Compact Course' you will learn the basic concepts and most important tools of Symfony. Participants will build their projects from the ground up, starting with the basics and then incorporating advanced features such as injection, components and more. By the end of the course, students will have hands-on experience with the Symfony framework.
Target Audience
- Web Developers
Course prerequisites
Basic knowledge of PHP and object-oriented programming
Learning Methodology
The course provides a balanced mix of theory and practice in a first class learning environment. Benefit from direct interaction with our project experienced trainers and other students to maximise your learning success.
Agenda
- Overview of the Symfony Project
- Licences
- Release history
- Roadmap
- Getting Started with the Symfony Framework
- Symfony Components
- Environment and Symfony command line tool
- Installing a Symfony Project
- Understanding the request-response flow
- Creating a website
- Fine-tuning your application routes with parameters and requirements
- Best practices for using controllers
- Automated and functional testing
- Preparing to run automated tests with PHPUnit
- Checking a status code via a web page
- Using a data provider to provide URLs to test
- Introduction to Twig
- Twig syntax
- Using the dot syntax help
- Using Twig to retrieve data from a controller
- Testing the design of your website
- Using layout techniques with inheritance and template inclusion
- Getting help with the Symfony console and web profiler
- Creating dynamic URLs in templates to access another website or link to an asset
- Introduction to Webpack Encore and Yarn
- Installing and configuring the required bundle
- Optimising assets with Webpack Encore
- The Doctrine ORM and configuring your project to access the database
- Entities and their mapping with Symfony Maker
- Migrations to manage the state of your database at any time
- Managing relationships between 2 entities
- Storing data in the database using a controller
- Retrieve data from the database using built-in or custom queries
- Introduction to Symfony Forms
- User-defined types
- Dealing with submitted data
- Symfony's built-in constraints for retrieving validated data
- Introduction to Dependency Injection and Symfony Services
- The optimal way to get the list of available services
- Using auto-wiring to inject dependencies onto a constructor
- constructor
- Setter
- property
- Checking the custom configuration of your services
- Services and environment variables
- Console commands: Creating interactive commands and batch commands
- Writing your own commands
- Using helpers from SymfonyStyle
- Declaring and handling new options and arguments in your command
- Introduction to authentication and authorisation
- Creating an authenticator with Security
- Checking the roles of users
- Creating custom voters
- Introduction to events
- Sending events in the Symfony project
- Creating subscriptions to declare listeners
- Important built-in events