Schedule

Friday, September 16th

  Track A Track B
09:00
09:15
Opening / Welcome
09:15
09:55
Unglue all the things!
Beau Simensen
10:00
10:40
How I started to love what they call design patterns
Samuel ROZE
The Workflow Awakens
Tugdual Saunier
10:40
11:05
Break
11:05
11:45
Form: Use Cases and Optimizations
Jules Pietri
Conscious Coupling
Ciaran McNulty
11:45
12:15
Lightning talks part 1
12:15
13:30
Lunch
13:30
14:10
Flipping Out with Feature Flags and Toggles
Michael Cullum
Going micro with the Symfony microkernel
Jakub Zalas
14:15
14:55
Getting instantly up and running with Docker and Symfony
Andre Rømcke
How to monitor your Symfony applications in production
Alexandre Salomé
14:55
15:25
Break
15:25
16:05
PSR-6 & Symfony Cache: fast by standards
Nicolas Grekas
Tell a story with your (git) repository
Tomasz Kowalczyk
16:10
16:50
Special Q&A session to the Symfony core team!
16:50
17:20
Lightning talks part 2
17:20
17:45
Closing remarks
18:00
21:30
Social event

The Workflow Awakens — English

Tugdual Saunier

It is common having to handle statuses or product states, either on e-commerce or editorial websites. To do that, you can use the classical -manual- way, or get help from libraries covering the basis.

In this talk, we will talk about the state machine concept and definition before considering its usage looking at existing open source libraries. Finally following the Symfony way, we will study the brand-new "Workflow" component.

Form: Use Cases and Optimizations — English

Jules Pietri

Let's take a look at some simple use cases where forms can be so useful but sometimes hard to implement. With the last PHP7 allowing strict types on object methods, with the Form component refactoring and new features, we will take a moment to share some updated best practices and tricks.

  • Using an API with ChoiceType/EntityType: how to optimize data loading?

  • Using PHP7: how to handle validation for strict-typed getters/setters?

  • Using sensitive data: how to handle permissions and fields visibility?

  • Using symfony 2.7 and older: how to rethink some form types while migrating?

  • Using multi-steps forms: how to keep control of submitted data?

Going micro with the Symfony microkernel — English

Jakub Zalas

A microframework is a simple and not-opinionated web application framework. It leaves most architecture related decisions up to the developer, as opposed to a full-stack framework that comes with most decisions already made.

Symfony is the only PHP framework that can be used as a full-stack and a micro framework. Now, since the microkernel is part of the core framework, it has never been easier.

Learn how to build your first Symfony microframework application, choose bundles and components you need, and remove all the fat! This exercise will increase your awareness of Symfony's internals which you'll also benefit from when working on a full-stack application. Finally, you will learn how to convert to the full-stack edition with ease as your application grows.

Unglue all the things! — English

Beau Simensen

Bundles. Packages. Modules. Plugins. So much code is locked up in framework-specific packages. With so may people talking about wanting to write framework agnostic packages, it can be easy to get stuck thinking that this is, and should always be, the end goal. Learn about one developer's experience trying to write truly framework agnostic code. See what worked, what didn't, and walk away having a better idea how you, too, can attempt to unglue all the things!

Conscious Coupling — English

Ciaran McNulty

"By using a comprehensive feature-filled framework we can build software fast. On the other hand, by decoupling our applications we can build sofware that is independent of our framework and infrastructure choices, and therefore longer lasting.

We can't do both, is one approach always right?

In this talk we'll look at different decoupling techniques, what problems they solve, and when they make sense. We will learn some concrete techniques to discover where we should be investing in decoupling, and when we should let the framework maintainers do the work for us."

Getting instantly up and running with Docker and Symfony — English

Andre Rømcke

A look into how you can start to use Docker today with ready made setup with php7, nginx, redis, blackfire and so on. How you may extend it, and integrating it into your continuous integration workflow, and how you can setup a continuous deployment workflow using for instance Travis-CI.

How to monitor your Symfony applications in production — English

Alexandre Salomé

Exploitation of an application means monitoring of usage and data inside it. To make the good decisions for your application, you need to have a correct level of information on it.

First, we will see the existing solutions for monitoring, and how to choose the best one from the available products, for the problem you face.

Once we covered the solutions, we will see how to instrumentalize a Symfony application for it to communicate with the monitoring system. We will cover existing PHP components and pros/cons for each of those solutions.

The final step is to choose the metrics and events you want to publish to your monitoring tool. We will think about the useful metrics you can have in a Symfony application, and for each of them the value in decision taking.

This presentation will cover the monitoring process of a generic Symfony application, but also our solution at Auchan Retail France, how we implemented it in our applications and how we help teams taking good decisions.

Flipping Out with Feature Flags and Toggles — English

Michael Cullum

Quite often it can be useful to enable new functionality for only certain users on your site, or perhaps to only enable it on a test version of your application. One method of doing this, with a single shared codebase, is feature flags, and is the method used by huge organisations with monolithic repositories like Flickr, but can also be used on much smaller scales when you want to test out new functionality in production or perform A/B testing.

This talk will guide you through why feature flags can be helpful to your development workflow, and how you can use them whilst avoiding too much added complexity to your application.

Tell a story with your (git) repository — English

Tomasz Kowalczyk

Ever found yourself searching for that commit that broke everything? Trying to analyse project history and learn why something was done that way? Maybe all you see is a list of "fixed this" and "fixed that" messages that makes you want to start over? Want to know how can you do it better?

Repository history is often overlooked as a tool to keep information about project development process. I'd like to share my experience in keeping and encouraging discipline among engineers to not only keep the code clean, but also care about what goes into VCS.

How I started to love what they call design patterns — English

Samuel ROZE

We, as developers, often think that we don’t have to or don’t need to know what are what they call design patterns. We think that we already know how to build a software and don’t need all this theory. Years after years, by having to deal with the low maintainability of my own codebases, I explored a lot of ways of decoupling applications, in order to have enterprise-grade software that last for years. With concrete examples, I want to share with you some design patterns and how they can help you to grow well structured and decoupled applications

PSR-6 & Symfony Cache: fast by standards — English

Nicolas Grekas

After several months of discussion, the PHP-FIG (PHP Framework Interop Group) published the PSR-6. Its goal is to enable interoperability between caching systems implementations - a mandatory aspect to improve performance in your applications. At this conference, we will see the benefits and limitations of PSR-6, we will discuss the various existing cache solutions (Doctrine, Stash, php-cache), and I will present the new Symfony 3.1 Cache component and its upcoming improvements in version 3.2.

SensioLabs

92-98, Boulevard Victor Hugo
92115 Clichy Cedex - France
+33 1 40 99 82 89
support [at] sensiolabs.com

© 2017 SensioLabs - About