Create a shop
with Symfony and Sylius
This four-day course is dedicated to Symfony and Sylius. It is the perfect training to master all the fundamental concepts and the most advanced tools. At the end of this workshop, you will work autonomously on the eCommerce framework based on Symfony!


This intensive four-day training combines both the basics of Symfony and Sylius. It covers all the fundamental topics of these Frameworks to allow you to create your eCommerce store.

First, you will start with the basics like navigation, directory structure, and building your very first dynamic web pages with Twig. Then you will dive deeper into more advanced topics and tools from Symfony and Sylius. Like, authentication and permissions, dependency injection, automated testing, and catalog building, among others.

This training is delivered by our expert instructors and Symfony/Sylius contributors, who like to share their experience, best practices, as well as tips and tricks to help you be more efficient and autonomous.

Full program

  • How to handle the HTTP request – response workflow
  • Routing
  • Best practices for your controllers and their capabilities
  • Bundles and Maker Bundle
  • Introduction to Twig
  • Pass a context to your templates from your controllers
  • Use layout techniques with inheritance and template inclusions to reduce the size of your templates
  • Direct templates overriding
  • Good solutions to find help for your templates through the Symfony console or the web profiler
  • Composer create-project
  • Creation of a controller + custom route and a view (using also path())
  • Introduction to Doctrine
  • Establish and manage relationships between 2 entities
  • Store records in the database using a controller.
  • Retrieve records from the database using standard or custom queries (repositories)
  • Talk about different mapping files (Sylius doesn’t use annotations)
  • Schema Update vs Migration
  • Introduction to fixtures
  • Introduction to Dependency Injection and Symfony Services
  • Use the best method to determine available services
  • Use “autowiring” to inject dependencies into a constructor, setter, or attribute
  • Check the configuration of your services
  • Understand the boundary between service parameters and environment variables
  • decoration, tag, compiler pass
  • Exercise : TBD
  • Entity, repository, repository as a service, request from controller
  • Introduction to the Doctrine ORM and configuration of your project to access the database
  • Create your own entities and their mapping with the Symfony maker
  • Create and apply migrations to manage the state of your database at anytime
  • Handle relations between 2 entities
  • Store data in the database by using a controller
  • Retrieve data from the database by using built-in or custom queries
  • Sylius architecture overview
  • Technical foundations
  • Show some code how Sylius is architectured (reminder of the first day : services, entities, controllers)
  • Models
  • Exercice : Installer Sylius
  • Demo Sylius
  • schema:update
  • fixtures:load
  • Presentation of a Sylius product
  • Creation of the first Sylius product
  • Add a feature to a Sylius product (color)
  • Create and apply migrations to manage the state of your database
  • Taxonomy
  • Exercice : Same as below
  • Product lists
  • Listing Controllers
  • Paginating
  • Filtering
  • Exercise: Filter the list of products, by the added attribute
  • Introduction to functional testing (must be related with the Sylius part, phpspec, Behat)
  • Installation and presentation of the “PHPUnit” tool to run your automated tests
  • Write your first test to check a status code for a given web page
  • Create a “data provider” to provide URLs to be parsed sequentially in a test
  • How Sylius do ?
  • Theory of testing
  • TDD and BDD overview
  • PHP SPEC ?
  • Variants and options
  • Associations and reviews
  • Order structure and workflow
  • State machine and its usage within Sylius
  • Checkout process
  • Payment
  • Shipping
  • Introduction to authentication and authorization in a Symfony project
  • Form Login
  • Customer Entity
  • User Provider
  • Check the roles of your users to give them access to certain application resources
  • Create custom Voter to handle rare situations that require special authentication in PHP
  • Admin & customers
  • Currencies
  • Locales
  • Zones
  • Payment & Shipment methods
  • Promotion structure
  • Coupons
  • Taxes structure
  • Set up 20% VAT on certain products
  • Edit product view to show a custom ribbon if there is a promotion/coupon
  • Exercise : TBD
  • Working with resources
  • Controller, route, factory
  • Introduction to Symfony Forms
  • Create your forms with custom configurations
  • Extract and manage data from your forms
  • Configure native constraints to validate data coming from the user
  • Creation of manageable resource (color card)
  • Event Dispatcher
  • Sylius template events
  • Emails management
  • API
  • Continue with the admin: Channels



Mastering PHP essentials

Appreciation of the training

Global average:
Educational rating : N.C
Content rating : N.C
Pace rating : N.C

Evaluative methods

A control of knowledge in the form of multiple choice questions is carried out during and at the end of the training. It allows to validate and take back the points not assimilated.

A certificate of successful completion of a training action is sent to the learner.

A copy of the attendance sheet is transmitted.

Have a seat

4 day(s)


Available languages
French, English

Available countries
Worldwide, France, Germany, Spain, United Kingdom, United States