Description
Symfony is an open-source PHP MVC framework favoring component reuse, convention over configuration, and supported by an active community to simplify web development. During this training, you will learn how to enrich your Symfony applications using its advanced features from dependency injection to asynchronous management, including translation, deployment and monitoring of applications.
Who is this training for ?
For whom ?
This advanced training is aimed at developers already using Symfony regularly, wishing to explore the in-depth features of this framework
Prerequisites
- Web development experience with Symfony
- An environment capable of using Docker (Linux, OSX or Windows with WSL2)
Training objectives
Training program
- Symfony, what's new?
- Application overview
- Dependency injection
- Customize dependency injection based on environment
- Inject dependencies into your Symfony services using setters and parameters
- Make your application modular
- Revisit the notion of interface
- Create easily replaceable services
- Doctrine
- Discover `Doctrine Query Language` (DQL) to interact with the database and beyond SQL
- Understand the life cycle of entities and events in order to react to changes in entities
- Going beyond auto-increments in ID generation
- Cleaning up database migrations in Symfony
- Cache with Symfony
- Use `reverse proxy` to improve performance
- Manage cache to optimize response times
- Advanced Branch
- Reminders about Twig, Symfony's templating engine
- Discover how to use Twig functions and filters to manipulate data in your templates
- Create custom extensions to extend the functionality of Twig
- Design CLI commands
- Design commands with options and arguments
- Interaction with the console
- Format the display
- Use routing and templates outside the HTTP context
- Design an API with APIPlatform: introduction
- Generate an API
- Go further in customization with APIPlatform extension points
- Don't forget CORS (Cross-Origin Resource Sharing)
- Asynchronous management
- Optimize asynchronous tasks using `messenger` and `queues`
- Configure transports to administer asynchronous messages • Send notifications
- Translate your application
- Explore the basics of translation to make an application multilingual
- Extract and manage translated text strings
- Use external providers to delegate translations
- Deploy a Symfony application
- Deploy a Symfony application to an online service (Platform.sh, CleverCloud)
- Deploy a Symfony application as a Docker image
- Monitor its application
- Configure the logs of your Symfony application
- Monitor performance with Blackfire
- Go further in log management with Sentry, log aggregators