Workshops

Mastering OOP & Design Patterns

Avatar of Alexandre Salomé Alexandre Salomé

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.).

2-day Workshop
Delivered in English
November 15 – 16, 2022
Starts at 8:00 AM
Dates and times are shown in your local timezone ()

Building modular and interactive applications with Symfony UX

Avatar of Titouan Galopin Titouan Galopin

Building great User Experiences with JavaScript is difficult. It takes time to choose reliable packages, to configure them, to integrate them in your pages, and to make your front-end code interact with the rest of your infrastructure. In December 2020, Symfony unveiled a tool that helps on these regards: Symfony UX.

This workshop will introduce you to Symfony UX and the tools it relies on: Webpack Encore, Stimulus, Jest and Testing Library. We will discover how to build modular and interactive interfaces using small reusable JavaScript components that can be easily tested automatically. We will also discover how to rely on Symfony UX and Swup to build advanced User Experiences using the micro-frontends approach. Finally, we will discuss a little bit about React and how it can be used inside of your Symfony UX applications to increase even more its capabilities.

1-day Workshop
Delivered in English
Tuesday, November 15, 2022
Starts at 8:00 AM
Dates and times are shown in your local timezone ()

Knowing your state machines - Symfony Workflow

Avatar of Tobias Nyholm Tobias Nyholm

Web development is not just about delivering a response, it is also about writing good code. The state pattern will help you move complexity from being all over your code to one or more state machines.

This workshop will introduce state machines, show you how to identify uses of them, and implement them in your Symfony application in an object-oriented manner using the Symfony Workflow component.

1-day Workshop
Delivered in English
Edition #1: Tuesday, November 15, 2022
Starts at 8:00 AM Edition #2: Wednesday, November 16, 2022
Starts at 8:00 AM
Dates and times are shown in your local timezone ()

Profiling Symfony & PHP apps

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

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.

1-day Workshop
Delivered in English
Edition #1: Tuesday, November 15, 2022
Starts at 8:00 AM Edition #2: Wednesday, November 16, 2022
Starts at 8:00 AM
Dates and times are shown in your local timezone ()

Symfony 5/6: the fast track

Avatar of Nicolas Grekas Nicolas Grekas

This training is from the book "Symfony 5/6: 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.

2-day Workshop
Delivered in English
November 15 – 16, 2022
Starts at 8:00 AM
Dates and times are shown in your local timezone ()

Getting the Most Out of PHPStan

Avatar of Ondřej Mirtes Ondřej Mirtes

PHP is nothing like compiled languages. If you make a mistake, the program will crash when the line of code with the mistake is executed. When testing a PHP application, whether manually or automatically, developers spend a lot of their time discovering mistakes that wouldn’t even compile in other languages, leaving less time for testing actual business logic.

PHPStan is a popular static analyser focused on finding bugs in your code. By leveraging the strength of PHP type system further enhanced in PHPStan itself, developers can create robust applications and discover bugs early in the development process. The aid the tool provides during refactoring is also indispensable.

In this workshop, the attendees will learn how to install, configure and run PHPStan, and also receive tips how to write code so that PHPStan can be as powerful as possible. They will also be able to write their own PHPStan rules and extensions.

1-day Workshop
Delivered in English
Wednesday, November 16, 2022
Starts at 8:00 AM
Dates and times are shown in your local timezone ()

API development with API Platform

Avatar of Kévin Dunglas Kévin Dunglas

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).

1-day Workshop
Delivered in English
Edition #1: Tuesday, November 15, 2022
Starts at 8:00 AM Edition #2: Wednesday, November 16, 2022
Starts at 8:00 AM
Dates and times are shown in your local timezone ()

Advanced Security with Symfony

Avatar of Andreas Hucks Andreas Hucks

The Symfony Security Component is an important tool in many web applications. Symfony 6 has seen an overhauled authenticator system providing a base both for out of the box authentication mechanisms as well as extensions points for customizations.

The workshop kicks off with an overview of the authenticator mechanism, how it works in a classic form authentication, and how to build your own authenticator to support simple JWT auth. We also touch on some point that sometimes get swept under the rug when first learning about the security layer: CSRF protection, protection from timing attacks etc.

In the second part we will talk about two factor authentication in Symfony. Topic will include the theoretical background how things like OTP in general and TOTP work, and how to practically use them in Symfony using and customizing existing libraries.

Prerequisites: You should feel comfortable around a basic generic Symfony project: How to install the framework using Flex and run it locally, how to configure routes, how controllers and templates work. Deeper knowledge of the Service Container configuration can help, but will not be mandatory.

1-day Workshop
Delivered in English
Edition #1: Tuesday, November 15, 2022
Starts at 8:00 AM Edition #2: Wednesday, November 16, 2022
Starts at 8:00 AM
Dates and times are shown in your local timezone ()

Practical Forms with Symfony

Avatar of Christopher Hertel Christopher Hertel

Forms are a critical part of the UX of Web apps and come in different variations. The Symfony Form component allows building very simple and the most complex ones. We will have a look at the architecture of the component, the extension points you should know and how to tackle even forms using Rich Domain Models. We will discuss which one is practical in which cases and which features might even be implemented without the component.

1-day Workshop
Delivered in English
Tuesday, November 15, 2022
Starts at 8:00 AM
Dates and times are shown in your local timezone ()

Test Driven Development The Right Way

Avatar of Diego Aguiar Diego Aguiar

Have you ever wanted to learn about TDD but never got a chance to learn it properly?
Do you think TDD only slows you down?
You don't know what to do when getting stuck?

Attend this workshop and learn what TDD really is by practice and add this methodology to your developer toolkit

In this workshop, you'll learn about:
- How to develop a complex feature from scratch by applying TDD using PHPUnit
- The anatomy of a clean test: Arrange, Act, & Assert.
- Going faster. Demystify the myth that TDD only slows you down.
- And many other useful tricks...

1-day Workshop
Delivered in English
Wednesday, November 16, 2022
Starts at 8:00 AM
Dates and times are shown in your local timezone ()

TypeScript for PHP Developers

Avatar of Alexander M. Turek Alexander M. Turek

Over the past years, the experience for PHP developers has improved a lot with the steady improvement of the type system. In the JavaScript world, TypeScript emerged with a similar goal, to become a JavaScript with syntax for types.

Being a strict sytactical superset of the JavaScript language, TypeScript can even improve working with libraries that are written in pure JavaScript.

In this workshop we get to know the basics of TypeScript. We learn how TypeScript relates to classic JavaScript and dive deep into the type system of the language.

1-day Workshop
Delivered in English
Tuesday, November 15, 2022
Starts at 8:00 AM
Dates and times are shown in your local timezone ()

Building modular and interactive applications with Symfony UX

Avatar of Ryan Weaver Ryan Weaver

Building great User Experiences with JavaScript is difficult. It takes time to choose reliable packages, to configure them, to integrate them in your pages, and to make your front-end code interact with the rest of your infrastructure. In December 2020, Symfony unveiled a tool that helps on these regards: Symfony UX.

This workshop will introduce you to Symfony UX and the tools it relies on: Webpack Encore, Stimulus, Jest and Testing Library. We will discover how to build modular and interactive interfaces using small reusable JavaScript components that can be easily tested automatically. We will also discover how to rely on Symfony UX and Swup to build advanced User Experiences using the micro-frontends approach. Finally, we will discuss a little bit about React and how it can be used inside of your Symfony UX applications to increase even more its capabilities.

1-day Workshop
Delivered in English
Wednesday, November 16, 2022
Starts at 8:00 AM
Dates and times are shown in your local timezone ()

RESTful Webservices in Symfony

Avatar of Jan Schädlich Jan Schädlich

Nowadays RESTful Apis are powering the web and are used in almost every web application.
In this workshop you will learn the fundamental principles of REST and how you can implement a RESTful Application using Symfony.
We will start with the basics of REST, continue with some more advanced topics like Serialization, Content-Negotiation and Security (OAuth 2, JWT) and eventually talk about Documentation and Versioning of APIs.
Besides all the theory the attendees can deepen their learnings on every topic while doing the provided coding challenges.

2-day Workshop
Delivered in English
November 15 – 16, 2022
Starts at 8:00 AM
Dates and times are shown in your local timezone ()