symfony-certification-preparation-list icon indicating copy to clipboard operation
symfony-certification-preparation-list copied to clipboard

List of topic-specific resources to help you prepare for Symfony certification


title: Symfony Certification Preparation List permalink: /

Symfony Certification Preparation List

I unfortunately do not have the time to get this project fully updated. Any pull requests are appreciated and will still be reviewed & merged. If somebody would like to completely take over this project, feel free to create an issue.

When looking for a guide to prepare myself for a Symfony certification, I couldn't find a lot. So I've decided to start this project to help people find everything they need.

If you're looking for other people who are interested (or have) certification. Please check the #certification channel at the Symfony Devs Slack. Request an invite here

Please help add new links/info. We currently have not all topics covered. For more information refer to the Contributing page.

The exam topics are copied from the official exam topics. The master branch contains information for the 5.0 certification. For 4.0 and 3.0, please see the other branches.

Table of Contents

  • PHP and Web Security
    • PHP API up to PHP 7.2 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 & 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
    • 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
    • Service container
    • Built-in services
    • Configuration parameters
    • Services registration
    • Tags
    • Semantic configuration
    • Factories
    • Compiler passes
    • Services autowiring
  • Security
    • Authentication
    • Authorization
    • Configuration
    • Providers
    • Firewalls
    • Users
    • Passwords encoders
    • Roles
    • Access Control Rules
    • Guard authenticators
    • Voters and voting strategies
  • HTTP Caching
    • Cache types (browser, proxies and reverse-proxies)
    • Expiration (Expires, Cache-Control)
    • Validation (ETag, Last-Modified)
    • Client side caching
    • Server side caching
    • Edge Side Includes
  • Console
    • Built-in commands
    • Custom commands
    • Configuration
    • Options and arguments
    • Input and Output objects
    • Built-in helpers
    • Console events
    • Verbosity levels
  • Automated Tests
    • Unit tests with PHPUnit
    • Functional tests with PHPUnit
    • Client object
    • Crawler object
    • Profile object
    • Framework objects access
    • Client configuration
    • Request and response objects introspection
    • PHPUnit bridge
    • Handling legacy deprecated code
  • Miscellaneous
    • Configuration (including DotEnv and ExpressionLanguage components)
    • Error handling
    • Code debugging
    • Deployment best practices
    • Process and Serializer components
    • Messenger component
    • Mime and Mailer components
    • Filesystem and Finder components
    • Lock component
    • Web Profiler, Web Debug Toolbar and Data collectors
    • Internationalization and localization (and Intl component)