Road to Symfony certification

Overview

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.

You might also like...
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.

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

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-

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

Symfony Polyfill / Intl: Grapheme

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

[Abandoned] Symfony SonataNotificationBundle

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

Google Analytics Measurement Protocol Package for Symfony

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

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

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

Owner
Mario Blazek
PHP/Symfony enthusiast. Backend Engineer. eZ Publish/Platform expert. Netgen Stack ninja. Developer @q-alliance.
Mario Blazek
Dockerise Symfony Application (Symfony 6 + Clean Architecture+ DDD+ CQRS + Docker + Xdebug + PHPUnit + Doctrine ORM + JWT Auth + Static analysis)

Symfony Dockerise Symfony Application Install Docker Install Docker Compose Docker PHP & Nginx Create Symfony Application Debugging Install Xdebug Con

null 48 Jan 5, 2023
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

METRO Markets 14 May 23, 2022
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

Guillaume Loulier 98 Jan 4, 2023
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’

null 2 Jan 29, 2022
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

null 6 Nov 9, 2022
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.

Goldbach Algorithms 1 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

Kevin Papst 22 Jan 2, 2023
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

null 15 Jun 6, 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

Symfony 2.4k Jan 6, 2023
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

Gniewomir Świechowski 1 Jan 10, 2022