London 2019 12-13 SEPTEMBER

Schedule

Sep 13, 2019

  Track A Track B
08:00
09:00
Badge pick up and welcome breakfast
09:00
09:15
🎉 Welcome session 👋
09:15
09:55
Keynote
Fabien Potencier
10:05
10:45
Queues, busses and the Messenger component
Tobias Nyholm
Restless microservices with Symfony
Neal Brooks
10:45
11:15
Break ☕ 🥐
11:15
11:55
Security Best Practices with Symfony 4.4
Michael Cullum
Things you will need to know when Doctrine 3 comes out
Denis Brumann
12:05
12:25
Boost your Symfony apps with HTTP/2 ​and HTTP/3
Kévin Dunglas
Symfony Checker is coming
Valentine Boineau
12:25
13:50
Lunch
13:50
14:30
Demystifying React for Symfony developers
Titouan Galopin
Feeling unfulfilled by SPA promises? Go back to Twig.
Dan Blows
14:40
15:20
Symfony QA
Jakub Zalas
BDD Your Symfony Application
Kamil Kokot
15:20
15:50
Break ☕ 🥐
15:50
16:30
SymfonyCloud: the infrastructure of the Symfony ecosystem
Tugdual Saunier
Migrating to Symfony one route at a time
Steve Winter
16:40
17:20
The fabulous World of Emojis and other Unicode symbols
Nicolas Grekas
17:20
17:30
Closing remarks
17:30
20:00
Social Event 🥳

Keynote

Fabien Potencier - English - Keynote - 9/13/19, 09:15

Keynote

Queues, busses and the Messenger component

Tobias Nyholm - English - Track A - 9/13/19, 10:05

Message queues are the perfect way to decentralize your application. You may use them for communication, scheduling and decentralization of your application. With help from a message queue you may decouple your application from the framework and the infrastructure. Which means that your app is written in pure PHP and not Symfony/Laravel/Yii etc.

With some smart configuration on your message bus you may put the message queue outside of your application and you may leverage from a decentralized and asynchronous system.

This talk will quickly go throw the basics of queues, hexagonal design and show proof of concept with Symfony’s Messenger component.

Restless microservices with Symfony

Neal Brooks - English - Track B - 9/13/19, 10:05

When we think about microservices we usually imagine a bunch of self-contained and job-focused applications, each specifying and managing their own boundaries and dependencies, and talking to each other over HTTP / REST APIs.

Used in the right context, the microservice architecture can deliver number of great benefits to a business. But those benefits come with tradeoffs.

Unfortunately a lot of people find out too far down the road just how difficult REST-based microservices can be to implement and maintain.

In this presentation we’ll dig into the structure of microservices, think about the major pros and cons, and see if we can tweak it into something a bit more developer-friendly without losing the benefits.

Then we’ll see how MyBuilder.com have tackled the problem in the real world using Symfony, keeping services isolated and testable while addressing some of the challenges that many people face when trying to adopt such a pattern.

Security Best Practices with Symfony 4.4

Michael Cullum - English - Track A - 9/13/19, 11:15

Security on the Web in an always evolving target. New threats are discovered, new best practices are identified and implemented by browsers, servers, standards. Symfony 4.4 [...]

Things you will need to know when Doctrine 3 comes out

Denis Brumann - English - Track B - 9/13/19, 11:15

Doctrine ORM is probably the most used database abstraction in PHP. With Doctrine 3 on the horizon it's a perfect time to look at how Doctrine has changed and will change and what this means for you as users. This talk looks at some of the already merged features for Doctrine 3 that could have an impact on your code and why the might prevent you from upgrading. I will show approaches for tackling these changes and how your projects might benefit from introducing them already.

Boost your Symfony apps with HTTP/2 ​and HTTP/3

Kévin Dunglas - English - Track A - 9/13/19, 12:05

HTTP/2 and HTTP/3 can improve the loading time of webpages up to 2 times. Did you know that it’s very easy to optimize your Symfony applications to leverage the advanced features of this new protocol? The talk agenda:

  • a historically contextualized presentation of the different versions of the HTTP protocol;
  • a state of the protocol support in the PHP ecosystem;
  • a guide explaining how to serve your PHP and Symfony apps with h2, using Nginx, Apache and Docker;
  • many code samples showing how to use h2 to improve the loading time of your assets and APIs using the WebLink component and Twig
  • examples of how to take advantage of the protocol using the brand new HttpClient Component ​

Symfony Checker is coming

Valentine Boineau - English - Track B - 9/13/19, 12:05

Have you ever heard of the PHP AST? Maybe not... CFG and SSA? Probably not! In this talk, I will introduce these cool algorithms, how they are used in code quality analysis and how we leveraged them in a project I'm working on: the Symfony Checker.

Demystifying React for Symfony developers

Titouan Galopin - English - Track A - 9/13/19, 13:50

The world of Javascript is vast and exciting... but it can also be quite scary! It is an innovative world in which new technologies appear all the time, which can make it difficult for developers to keep up to date.

One of the most famous of these technologies is probably React. It changed the way we conceive User Interfaces, both in the browser and in mobile applications. But understanding it can be challenging: let's demystify it together so that you can enter the world of Javascript with confidence!

Feeling unfulfilled by SPA promises? Go back to Twig.

Dan Blows - English - Track B - 9/13/19, 13:50

We’ve all heard the benefits of building a client-side app in JavaScript that talks to a server-side REST API. But often this approach introduces a lot of accidental complexity, without really delivering the gains. How can you get the best of both worlds? In this talk, I’ll show how to get the simplicity of server-side rendering with the architectural and performance improvements of an SPA.

Symfony QA

Jakub Zalas - English - Track A - 9/13/19, 14:40

Static analysis is performed on source code without actually executing it. Being a good companion for code reviews it is often used for quality assurance as part of continuous integration. It can also play an invaluable role when diving into an unfamiliar code base.

Due to its ruthless nature, static analysis lets the team to focus on business problems, rather than arguing typos. It will also point out design issues, possible maintenance problems or bugs. Should we trust it blindly though?

In this talk, Jakub will explain how to incorporate static analysis into a Symfony project to get a better understanding of applications' quality.

BDD Your Symfony Application

Kamil Kokot - English - Track B - 9/13/19, 14:40

Behaviour Driven Development helps bridge the communication gap between business and IT. Having testable specifications is a desirable side effect. This talk will explain the basics of BDD methodology, best practices for writing Cucumber scenarios and how to integrate Symfony with Behat by using a new emerging solution - FriendsOfBehat's SymfonyExtension. I will share the practical insights distilled from 4 years of developing and maintaining the biggest open-source Behat suite which is a part of Sylius.

SymfonyCloud: the infrastructure of the Symfony ecosystem

Tugdual Saunier - English - Track A - 9/13/19, 15:50

You don't know it yet but you are already using SymfonyCloud every day! Since 2018, the infrastructure of the Symfony community gradually migrated to SymfonyCloud. Let me show you what happens behind the scene and how we leverage every SymfonyCloud features to move faster.

Migrating to Symfony one route at a time

Steve Winter - English - Track B - 9/13/19, 15:50

We recently acquired a new client and a new project. Unfortunately this was built in a fairly old version of a framework we're not so familiar with.

There were several bugs to fix and plenty of new features the client wanted 'yesterday'!

Initially we attempted to build these using the existing codebase, but very quickly began running into dependency hell.

Our next attempt was to work through the migration pathway of that framework, but every time we tried to move forward something else seemed to go wrong, and with no tests that was pretty scary!

The client didn't have the budget for a complete rebuild so we began by building all new features in Symfony then as other functionality needed work moving that across as well.

In this session we'll look at the challenges we faced and how we resolved them to allow us to leave the legacy application doing what it does but still being able to work with current packages and methodologies for new development.

The fabulous World of Emojis and other Unicode symbols

Nicolas Grekas - English - Keynote - 9/13/19, 16:40

Closing keynote.