Workshops

1-day Workshops

December 1, 2020

All about Symfony's new Security Component Ryan Weaver Profiling Symfony & PHP apps Jérôme Vieilledent Developing headless e-commerce with Sylius Łukasz Chruściel, Mateusz Zalewski API development with API Platform Kévin Dunglas, Grégoire Hébert

December 2, 2020

All about Symfony's new Security Component Ryan Weaver Profiling Symfony & PHP apps Jérôme Vieilledent Developing headless e-commerce with Sylius Łukasz Chruściel, Mateusz Zalewski API development with API Platform Kévin Dunglas, Grégoire Hébert Efficient Doctrine ORM Andreas Hucks

2-day Workshops

Mastering OOP & Design Patterns

Avatar of Titouan Galopin Titouan Galopin

2-day workshop

Tuesday, December 1, 2020

Object Oriented Programming (OOP) goes beyond the design of classes and interfaces. It includes a wide variety of concepts such as objects, entities, value objects, services, design models, SOLID principles, calisthenics, coupling, etc. Mastering OOP often requires several years of experience. This workshop will help you to better understand all these concepts in order to write more maintainable, robust and testable object-oriented code. You will also discover techniques to reduce the complexity of your code and make your classes more specific and therefore simpler. You will also learn how to recognize and exploit the power of design models (factory, adapter, composite, decorator, mediator, strategy, etc.).

All about Symfony's new Security Component

Avatar of Ryan Weaver Ryan Weaver

1-day workshop

  • 1st edition: Tuesday, December 1, 2020
  • 2nd edition: Wednesday, December 2, 2020

Symfony 5.1 and 5.2 includes a new, fresh refactoring of the Security component with the goal of decreasing complexity and giving you more power. While many things - like firewalls, authorization & voters - haven't changed much, other parts - like authentication - *has*.

In this workshop, we'll convert an application from the existing security system to the new one. Along the way, we'll get a look into the basics of how it works and a deeper view into how we can hook into it, including creating a custom authentication system.

Ready to dig into the new security component *and* love it? Let's go!

Profiling Symfony & PHP apps

Avatar of Jérôme Vieilledent Jérôme Vieilledent

1-day workshop

  • 1st edition: Tuesday, December 1, 2020
  • 2nd edition: Wednesday, December 2, 2020

It is difficult to improve what is not measurable! Profiling an application should always be the first step in trying to improve its performance. With this workshop, learn how to identify performance issues in your application and adopt the best profiling practices in your daily development habits. This workshop will use the Blackfire.io tool to help you identify performance leaks.

Developing headless e-commerce with Sylius

Avatar of Łukasz Chruściel Łukasz Chruściel Avatar of Mateusz Zalewski Mateusz Zalewski

1-day workshop

  • 1st edition: Tuesday, December 1, 2020
  • 2nd edition: Wednesday, December 2, 2020

Have you heard about Sylius? Have you heard about API Platform? Recently these two projects decided to leverage the power of the Symfony ecosystem and joint efforts to deliver better quality to the eCommerce API world. Thanks to this integration, it will be easier, funnier and faster to build API-based eCommerce projects.

During this workshop, we will build a modern backend of e-commerce API based on the Sylius platform. We will build a new headless shop from scratch, extend its behavior with new functionality, and customize existing functionalities.

API development with API Platform

Avatar of Kévin Dunglas Kévin Dunglas Avatar of Grégoire Hébert Grégoire Hébert

1-day workshop

  • 1st edition: Tuesday, December 1, 2020
  • 2nd edition: Wednesday, December 2, 2020

API Plaftorm has become a very popular framework for building advanced and modern API-driven web projects. This includes: - a super powerful server component based on Symfony to create hypermedia web APIs and GraphQL; - a generator of progressive web applications (ReactJS, Vue.js) and native mobile applications (React Native); - a ReactJS administration interface (ReactJS + admin on standby).

After an overview of the modern API models and formats (REST, Swagger, Hypermedia, HATEOAS, JSON-LD, Hydra, Schema.org, GraphQL...), we will learn how to use and extend the most popular features of the component: Swagger documentation, pagination, validation, sorting, filtering, authentication, authorization, content negotiation, data model generation using Schema.org vocabulary. Finally, we will discover how easy it is to use the client-side toolbox (JavaScript).

Symfony 5: the fast track

Avatar of Nicolas Grekas Nicolas Grekas

2-day workshop

Tuesday, December 1, 2020

This training is from the book "Symfony 5: The Fast Track" by Fabien Potencier. In 2 days, it will teach you how to build a Symfony application from A to Z using new practices and new components. For those who are new to Symfony, this training is an opportunity to discover capabilities of Symfony. For more experienced devs, it's an opportunity to know about and to practice the latest features and best practices.

We will build an application with all the infrastructure of modern apps: database, application and HTTP cache server, message bus for background processing, APIs and SPAs, etc. We will start from the basics with the installation of a skeleton application, the creation of a data model and a "backoffice", then we will add screens for users, a security system to partition rights, an API to allow interaction via a SPA. We will enrich the business rules to send notifications, send emails, manage internationalization, resize images, manage a publication workflow, etc. Finally, we will optimize the application for production through HTTP and application caches, through asset management (JS/CSS/images) and secrets management. To secure each step, we will write tests to guarantee non-regressions.

On the menu: Flex, Mailer, Notifier, Workflow, Messenger, API Platform, HttpClient, String, Webpack Encore, etc.

Efficient Doctrine ORM

Avatar of Andreas Hucks Andreas Hucks

1-day workshop

Wednesday, December 2, 2020

This workshop has two main goals: a deeper look into commonly used features of Doctrine ORM, to get a better understanding of how to better utilize them and giving a quickstart into some more advanced features that can be applied in a variety of contexts. The workshop is split into 4 modules:

Architecture & terminology - This section covers a look at the underlying architecture of Doctrine ORM, explains some of the terminologies that will be useful in the following modules.

Querying - This section covers a deeper look into how queries can be built with Doctrine, including how native SQL can be used with the ORM and how to optimize result hydration.

Advanced Features - In this section, we will look at Locking, Lifecycle Events & Change Tracking Policies.

Caching - This section takes a deeper look at how to improve a production setup by fine-tuning the different caches provided by Doctrine including the Second Level Cache