Masterclass by

Chargement de la formation
HomeOur trainingsGoing further with Symfony 5
Going further with Symfony 5

Going further with Symfony 5

Your Symfony level is good but you wonder how to get your team to produce a cleaner, more solid and more scalable code? Our trainers can help you improve your productivity by introducing you to more advanced tools and concepts such as dependency injection, cache, security, and tests.


1 - Manipulating services with Symfony

  • What is a service?
  • The SOLID principle and reminders 
  • History and Description of the container
  • Existing services
  • Debugging the container with the command line
  • Using Dependency Injection
  • Chuck Norris's voice is a service...
  • Chuck takes control of your logs
  • Inject parameters
  • What is private, public, lazy, tagged service?
  • Using autowiring
  • The special case of controllers
  • What is autoconfiguration?

2 - Symfony and the security

  • Manage and authenticate a user
  • Securing all or part of its application
  • Roles and hierarchies
  • Role voters and customized voters
  • Apply a voting strategy

3 - Symfony and performances

  • PHP and performance
  • Configure your application
  • The application cache
  • HTTP caching and IDEs
  • Reverse proxy
  • Cache invalidation
  • Mobile issues, eco-design, performance & under/over fetching

4 - Sending Data

  • Receive data in POST
  • Validate data manually
  • Using a validator
  • Create a validator
  • Combining validators
  • Use different validators depending on the context
  • Validation through a form
  • Create a simple form
  • Create a reusable form
  • Create nested forms
  • Master the transformation of data from PHP to HTML and HTML to PHP

5 - Good practice

  • Configuration Formats
  • Kernel, index.php and bootstrap.php configuration
  • MVP, Coding Styles, static analysis tools
  • SOLID, Demeter's Law, KISS and other acronyms
  • Test your code
  • Save time with MakerBundle

6 - Initiation to Doctrine ORM

  • Doctrine ORM
  • The Data Mapper pattern
  • The Unit of Work pattern
  • Doctrine lingo
  • Configuring database access
  • Creating the database
  • Mapping an entity
  • Creating an entity using the generator
  • Creating the tables
  • Persisting the entities
  • Retrieving entities
  • More repository methods
  • Using a custom repository
  • Performing custom requests
  • Use example

7 - Unit testing

  • The right tooling
  • Test a class with phpunit and prophecy

8 - Integration testing

  • The right tooling
  • Test a behaviour with Behat

9 - E2E testing

  • The right tooling
  • Test your application from end to end with Panther

10 - “Tips and tricks” from Les Tilleuls