Road to Symfony certification

Last update: May 13, 2022

Road to Symfony certification

Welcome to the repository dedicated to help you with the Symfony certification exam, based on Symfony 6.

Table of Contents

Introduction

More info coming soon.

Why this repo?

Features

Exam Topics

This is an official topics list that has been published by Symfony. You can find them also on their website.

PHP

  • PHP API up to PHP 8.1 version
  • Object Oriented Programming
  • Namespaces
  • Interfaces
  • Anonymous functions and closures
  • Abstract classes
  • Exception and error handling
  • Traits
  • PHP extensions
  • SPL

HTTP

  • Client / Server interaction
  • Status codes
  • HTTP request
  • HTTP response
  • HTTP methods
  • Cookies
  • Caching
  • Content negotiation
  • Language detection
  • Symfony HttpClient component

Symfony Architecture

  • Symfony Flex
  • License
  • Components
  • Bridges
  • Code organization
  • Request handling
  • Exception handling
  • Event dispatcher and kernel events
  • Official best practices
  • Release management
  • Backward compatibility promise
  • Deprecations best practices
  • Framework overloading
  • Release management and roadmap schedule
  • Framework interoperability and PSRs
  • Naming conventions

Controllers

  • Naming conventions
  • The base AbstractController class
  • The request
  • The response
  • The cookies
  • The session
  • The flash messages
  • HTTP redirects
  • Internal redirects
  • Generate 404 pages
  • File upload
  • Built-in internal controllers

Routing

  • Configuration (YAML, XML, PHP & attributes/annotations)
  • Restrict URL parameters
  • Set default values to URL parameters
  • Generate URL parameters
  • Trigger redirects
  • Special internal routing attributes
  • Domain name matching
  • Conditional request matching
  • HTTP methods matching
  • User's locale guessing
  • Router debugging

Templating with Twig

  • Twig syntax up to 3.3 version
  • Auto escaping
  • Template inheritance
  • Global variables
  • Filters and functions
  • Template includes
  • Loops and conditions
  • URLs generation
  • Controller rendering
  • Translations and pluralization
  • String interpolation
  • Assets management
  • Debugging variables

Forms

  • Forms creation
  • Forms handling
  • Form types
  • Forms rendering with Twig
  • Forms theming
  • CSRF protection
  • Handling file upload
  • Built-in form types
  • Data transformers
  • Form events
  • Form type extensions

Data Validation

  • PHP object validation
  • Built-in validation constraints
  • Validation scopes
  • Validation groups
  • Group sequence
  • Custom callback validators
  • Violations builder

Dependency Injection

Security

HTTP Caching

General read about HTTP caching

Symfony related links

Console

Automated Tests

Miscellaneous

About the exam

To take the exam, you should buy the exam voucher. The usual price is 250 euros. However, Symfony offers some discounts about two times a year. Usually, it is on Black Friday, and sometimes mid-June or whenever the Symfony exam version is announced. Deals go up to 40%, so I recommend that you aim to buy a voucher at that time.

Buying a voucher

After successful checkout, you should see an email with "Order Confirmation and Vouchers for the Symfony Certification Exam" subject in your inbox. The contents of the email body should be something like this:

Successful voucher order

If you are already a member of SymfonyConnect, just navigate https://certification.symfony.com/manager/voucher(step 3), select the relevant Symfony version from the dropdown and paste the voucher code inside the input. That's it, you are ready to schedule the exam date.

Scheduling exam date

Once you are prepared and feel comfortable taking the exam, go to the "My Vouchers" section and select the date and time of your exam. I suggest that you schedule the exam in the morning rather than afternoon or evening because you will be fresh and full of energy after the night's sleep. This is how the scheduled exam for looks like:

Schedule exam form

Shortly after your date and time confirmation, Symfony should email you the confirmation notice and a check requirements link. I recommend testing your exam environment on that link to eliminate any late surprises before the exam. Also, be advised that only the Google Chrome browser is supported.

Scheduled exam email

In the "My Vouchers" section, there should be a piece of information about the scheduled exam, with the additional link, which you will access at the exam time.

Scheduled exam

General overview

More info coming soon.

Successful exam delivery

After the successful exam delivery, you should receive an official email from Symfony about your exam result in a few business days. Here is an example of that email:

Successfully certified

Also, in the "My Exams History" you should be able to see the results:

Exam history

That's about it. Congratulations on getting certified :).

Changelog

Please see CHANGELOG for more information on recent changes.

Contributing

Please see CONTRIBUTING for details.

Thanks

Special thanks to Thomas Berends for compiling the list of Symfony certification exam preparation resources, which author of this repository used in order to prepare for Symfony certification exams. This repository covers missing parts, as the original repo did not provide any code examples to tinker with.

Also, thanks to webmozart for open-sourcing the Symfony Forms workshop repository, which was used as the initial code base for this repository.

About the author

Mario is working as a software developer more than ten years now. He is Symfony and Twig certified developer.

License

The MIT License (MIT). Please see the License File for more information.

GitHub

https://github.com/MarioBlazek/road-to-symfony-certification
You might also like...

Symfony bundle for class/method memoization

Symfony service memoization bundle This bundle provides memoization for your services - every time you call the same method with the same arguments a

Feb 18, 2022

Twig extensions for common navigation widgets for symfony.

Twig Navigation Extension This bundle provides a Twig extensions for common navigation widgets. Installation composer require m2mtech/twig-navigation-

Feb 23, 2022

A Symfony2 bundle that integrates Select2 as a drop-in replacement for a standard entity field on a Symfony form.

A Symfony2 bundle that integrates Select2 as a drop-in replacement for a standard entity field on a Symfony form.

select2entity-bundle Introduction This is a Symfony bundle which enables the popular Select2 component to be used as a drop-in replacement for a stand

May 10, 2022

Symfony Polyfill / Intl: Grapheme

This component provides a partial, native PHP implementation of the Grapheme functions from the Intl extension.

May 25, 2022

[Abandoned] Symfony SonataNotificationBundle

SonataNotificationBundle Symfony SonataNotificationBundle Branch Github Actions Code Coverage Documentation 3.x 4.x WARNING: This repository is abando

Feb 11, 2022

Google Analytics Measurement Protocol Package for Symfony

Google Analytics Measurement Protocol Package for Symfony. Supports all GA Measurement Protocol API methods.

Dec 1, 2021

AccessibleBundle provides an Accessible integration for your Symfony projects

AccessibleBundle AccessibleBundle provides an Accessible integration for your Symfony projects. This will allow you to define your class behavior usin

Apr 2, 2022

Simple php-imap integration for Symfony 2.8, 3.x and 4.x.

PHP-IMAP integration bundle Simple php-imap integration for Symfony 4.x, 5.x and 6.x. The version 1.5 and above are only compatible with Symfony 4+. P

Apr 11, 2022

MeteionBundle is the Symfony integration of the Meteion library.

MeteionBundle MeteionBundle is a Symfony integration of the Meteion library. Key features Auto-configuration Commands Services Entities Installation c

May 3, 2022
A Symfony Feature Flag Bundle which easily allows you to configure and use your favorite feature flag provider.

Metro Markets FF Metro Markets FF is a Feature Flag Symfony Bundle. It easily allows you to configure and use your favorite feature flag provider. Ins

Jan 27, 2022
A Symfony bundle built to schedule/consume repetitive tasks
 A Symfony bundle built to schedule/consume repetitive tasks

Daily runs Code style Infection PHPUnit Rector Security Static analysis A Symfony bundle built to schedule/consume repetitive tasks Main features Exte

May 6, 2022
ENI Ecole Informatique, PHP Symfony projet

ENI Ecole project La société ENI souhaite développer pour ses stagiaires actifs ainsi que ses anciens stagiaires une plateforme web leur permettant d’

Jan 29, 2022
A complete stack for running Symfony 5 into Docker containers using docker-compose tool and with Certbot for the HTTPS certificate.
A complete stack for running Symfony 5 into Docker containers using docker-compose tool and with Certbot for the HTTPS certificate.

?? Docker + PHP 7.4 + MySQL8.0 + Nginx + Certbot(HTTPS) + Symfony 5 Boilerplate ?? Edited from https://github.com/ger86/symfony-docker version -> http

Dec 3, 2021
This is a PHP library developed for Symfony to collect address information.

Goldbach Algorithms Address Info Getter (fondly nicknamed AIG) is a PHP library developed for Symfony to collect address information.

Nov 3, 2021
Tabler.io bundle for Symfony - a backend/admin theme for easy integration

Tabler Bundle for Symfony This repository contains a Symfony bundle, integrating the fantastic Tabler.io HTML Template into your Symfony project. It s

May 21, 2022
Instrument commands/workers/custom code with datadog, newrelic, tideways, symfony, spx.

sourceability/instrumentation This library provides a simple interface to start and stop instrumenting code with APMs. Symfony commands and messenger

May 17, 2022
This component provides a collection of functions/classes using the symfony/intl package when the Intl extension is not installed.

Symfony Polyfill / Intl: ICU This package provides fallback implementations when the Intl extension is not installed. It is limited to the "en" locale

May 21, 2022
Enraged Xenomorph - DDD/CQRS Symfony Application Boilerplate
Enraged Xenomorph - DDD/CQRS Symfony Application Boilerplate

Enraged Xenomorph - DDD/CQRS Symfony Application Boilerplate This project is very opinionated attempt to compile a bit of experience, few good practic

Jan 10, 2022
Sanitize untrustworthy HTML user input (Symfony integration for https://github.com/tgalopin/html-sanitizer)

html-sanitizer is a library aiming at handling, cleaning and sanitizing HTML sent by external users (who you cannot trust), allowing you to store it and display it safely. It has sensible defaults to provide a great developer experience while still being entierely configurable.

Apr 15, 2022