Schedule

Schedule in progress, hours might change and talks schedule might be subject to modifications.

Thursday, December 1st

  Track A Track B
08:00
09:00
Badge pickup and welcome light breakfast
09:00
09:15
Opening / Welcome
09:15
09:55
Keynote
Fabien Potencier
10:00
10:40
PSR-6 & Symfony Cache: fast by standards
Nicolas Grekas
Do not (always) use FOSUserBundle!
Damien Alexandre
10:40
11:10
Break
11:10
11:50
5 Years with Symfony
Paweł Jędrzejewski
Making your applications work together through interoperability
Michael Cullum
11:50
13:30
Lunch
13:30
14:10
Challenges and solutions in getting your open source company to contribution
Jeffrey A. McGuire
14:15
14:55
Knowing your state machines
Tobias Nyholm
Profiling PHP
Sebastian Grodzicki
14:55
15:25
Break
15:25
16:05
When To Abstract
Kore Nordmann
A CQRS and Event Sourcing approach in a Symfony application
Samuel ROZE
16:10
16:50
Lightning talks session
17:00
18:00
Sound of Symfony - Live on Stage!
Magnus Nordlander
18:15
21:30
Conference Social Event - Snacks and drinks - Free

Friday, December 2nd

  Track A Track B
08:00
09:00
Welcome light breakfast
09:00
09:15
Pre-keynote
09:15
09:55
Symfony Distributions Reloaded
Fabien Potencier
10:00
10:40
Soup up Symfony - Keep PHP Alive Between Requests
Andrew Carter
Make your code do your job
Larry Garfield
10:40
11:10
Break
11:10
11:50
Modernizing with Symfony
Alexander M. Turek
Jenkins deployment pipeline
Nicole Cordes
11:50
13:30
Lunch
13:30
14:10
Kafka will get the message across, guaranteed
David Zuelke
Symfony Plugin for PhpStorm - 3 years later
Daniel Espendiller
14:15
14:55
A year of Symfony
Sarah Khalil
Form : One use case, many optimizations
Jules Pietri
14:55
15:25
Break
15:25
16:05
HTTP Security: headers as a shield over your application
Romain Neutron
Adventures in Symfony - Building an MMO-RPG
Margaret Staples
16:10
16:50
How I learned to Stop Wiring and Love Autowiring Containers
Beau Simensen
Handling 10k Requests/second With Symfony and Varnish
Alexander Lisachenko
16:50
17:15
Closing Ceremony

Saturday, December 3rd

09:30
16:30
Hackday

Symfony Distributions Reloaded — English

Fabien Potencier

Keynote

Form : One use case, many optimizations — English

Jules Pietri

By taking one of the most usual and simple use case: a post and some tags, we will identify many ways to optimize our work with forms.

The focus will be about:

  • simple many-to-many relationship,
  • data mapping,
  • PHP 7 scalar type hints,
  • form type inheritance mechanism,

while some tricks will be shared along the way.

Also the final may reveal a surprise! Stay tuned ;)

Sound of Symfony - Live on Stage! — English

Magnus Nordlander

Sound of Symfony is the unofficial Symfony Podcast, and this time we're doing a live special right from the SymfonyCon stage!

Join us for a 40 minutes conference bonanza of on-stage guest interviews, discussions about PHP and Symfony, questions from the audience - and some never-before-heard clips from the Sound of Symfony archives!

Make your code do your job — English

Larry Garfield

Throughout history, advancement has come from reducing the amount of work that needs to be done by humans and letting technology do it for us. Long before computers, humans were letting our technology work for us in order to make ourselves better.

So too with programming. We have the ability in PHP, as in many languages, to make the language syntax itself find bugs for us. It's called "types", and is a far too under-utilized part of the language. Even many seasoned developers don't realize the benefits that come from having strict, explicit types in their code rather than relying on haphazard "duck typing".

This talk will make the case that your best way to improve your productivity as a developer is to make your language itself do your work for you. With PHP 7's improved typing support that is now even easier than ever.

How I learned to Stop Wiring and Love Autowiring Containers — English

Beau Simensen

Does managing YAML, XML or PHP container configurations make you sad? Do you dread making changes to your classes' dependencies for fear of the inevitable container configuration wiring blues? Life doesn't have to be this way! Not if your container supports autowiring, that is. Hear one developer's journey into the wild world of containers, learn how autowiring works, and find out how using autowiring can free you from having to manually configure every dependency.

Kafka will get the message across, guaranteed — English

David Zuelke

Apache Kafka is a message broker that offers not only massive scalability and fault tolerance, but also unique guarantees around message ordering and delivery. Relaying billing information, detecting security-related events, storing information at high-throughput - Kafka greatly simplifies it all and gives developers a chance to rethink the data flows between components, moving information interchange into the center of their architectures.

Handling 10k Requests/second With Symfony and Varnish — English

Alexander Lisachenko

It is believed that the Symfony framework is quite heavy and it can be difficult to develop a website that will be able to work under the high load. It is true, but does this mean that it is impossible to implement a dynamic caching and to update only a small part of entire page as data is updated? This talk will give your an answer to that. It is Varnish, ESI-blocks and load balancing. With hundreds of thousands of unique visitors and million hits a day, we continue to use Symfony, and do not see any problems.

Knowing your state machines — English

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 talk will introduce state machines, show how to identify uses of them and implement them in your Symfony application in an object oriented manner using the Symfony Workflow component.

Making your applications work together through interoperability — English

Michael Cullum

In all our careers at some point we’ll have multiple web applications or services we need to be able to integrate; whether that be as simple as sharing sessions or more complex such as manipulating HTTP responses provided by applications in libraries. Integration is hard but for frameworks, libraries and applications interoperability is an ever increasing goal. In this talk we’ll discuss how we can go further with interoperability to make your life easier: how you can make Drupal, phpBB and eZ Publish integrate with your Symfony web app; how you can use Symfony Components and Zend Framework modules side by side; and about decoupling your applications from any one specific library by depending on interfaces instead of implementations.

Jenkins deployment pipeline — English

Nicole Cordes

Currently I'm working on a flexible deployment pipeline in Jenkins where I can reuse some templates and create new pipelines within minutes. I'd like to present my solution, talk about the basics of Jenkins and explain why it's the better way to deploy with a CI server.

Profiling PHP — English

Sebastian Grodzicki

You cannot improve what you cannot measure. That's why profiling applications should always be the first step before trying to improve its performance. Learn how to spot your applications' bottlenecks and how to adopt profiling into your developer pipeline.

HTTP Security: headers as a shield over your application — English

Romain Neutron

You are all aware of what are XSS vulnerabilities; do you know what's Clickjacking? You have probably heard of Root Certificate compromission; do you know the principle of a protocol downgrade attack?

You're coming to SymfonyCon because you are HTTP application developers and I will present you awesome HTTP headers that will help you to mitigate these kind of attacks, just using W3C WebAppSec recommendations.

Adventures in Symfony - Building an MMO-RPG — English

Margaret Staples

Ride along on a tour of my latest adventure! I will unpack my process for turning design ideas into game mechanics, talk about the tools that were used (including Symfony and other open source goodies), examine major roadblocks and how they were overcome, give a postmortem on key implementation decisions, and share the highlights of what I learned along the way.

Symfony Plugin for PhpStorm - 3 years later — English

Daniel Espendiller

In 2013 the "Symfony Plugin" for PhpStorm was born. Today we see over 1 million downloads and several other plugins for projects like Laravel, Drupal, Shopware, ... that help to improve your productivity.

I will talk about Symfony related features and will give you some tips and tricks. Also, we take a look at the infrastructure behind these plugins and how I maintain all of them.

Modernizing with Symfony — English

Alexander M. Turek

A legacy application. It still earns the money, but maintaining the old code base is getting harder and harder. Feature development is too slow and the bug tracker is full of severe defect reports.

Rewriting the whole application is something your developers would simply love to do. But the rewrite probably won't go live before it's running out of budget.

Let's have a look at simple techniques that allow us to transform our legacy application step by step into a modern Symfony application.

5 Years with Symfony — English

Paweł Jędrzejewski

Sylius development has started together with one of the early alpha releases of Symfony framework. 5 years later it is the most promising competitor to existing solutions of the mainstream market, like Magento.

From the age of 18, I have built my entire professional career on Symfony. This allowed me to work on countless projects. I have seen Symfony in action on very small web projects, high availability websites, complex APIs and 14 year old legacy systems. I have integrated various Symfony applications, combining Sylius with eZ Platform, Akeneo PIM and existing custom apps.

In this talk I’d like to share everything I have learned during this journey. I show real world examples of projects, share solutions to both technical and more business-related problems and prove that Symfony is one of the greatest communities and projects that ever existed. This talk is supposed to be a retrospective of Symfony evolution from my perspective and knowledge-feast for the attendees.

Do not (always) use FOSUserBundle! — English

Damien Alexandre

FOSUserBundle is evil - and I will explain why. Under this trollish introduction hide a conference about Bundles and how to chose them to avoid spending more time extending them than actually building your application which is why you needed Symfony in the first place and yeah I know this sentence is hard to read, like a project where there is too many Bundles.

A CQRS and Event Sourcing approach in a Symfony application — English

Samuel ROZE

The Command Query Responsibility Segregation pattern, instead of the traditional CRUD, introduce different models for reading and updating the application states. Event Sourcing is the idea that every state of your application can be represented by a sequence of events. Using these two principles as the heart of a system or an application is quite common but can be challenging if we don’t use the right tools or architecture. With a concrete application as example, we’ll go through the architecture, libraries and bundles we can use in a Symfony application in order to apply these patterns.

When To Abstract — English

Kore Nordmann

One of the most difficult challenges in a developers life is finding the "right" abstraction, or at least the best one given the current circumstances. The core problem is that abstraction is a bet on the future development of the software and we know that future is volatile. I will discuss different environments of software development and we find a base for you to decide when and what to abstract.

A year of Symfony — English

Sarah Khalil

Last year, Symfony 3 was out right before the SymfonyCon. A lot happened! 52 blog posts to help you keep up with all new things, 1200+ pull requests, 2 new versions out… Well I'm sure you missed something. Let's review what happened during last year: basically we'll see and/or discover nice new features that appeared since the last SymfonyCon.

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 Symfony 3.1 Cache component and its latest improvements in version 3.2.

Challenges and solutions in getting your open source company to contribution — English

Jeffrey A. McGuire

How open source contribution benefits businesses and practical help on getting management and technical teams on the same page and contributing on a regular basis.

Many companies and their developers struggle to incorporate contribution into their daily working routines. Why do we struggle with contributing if we "believe" in open source and "know" contribution is “obviously” a good thing for all of us?

Chris Jansen and Jeffrey A. "jam" McGuire present practical, actionable ways to better unify our beliefs and our actions regarding open source contribution based on an extensive academic study Chris carried out in 2015. Our goal is to get management and developers on the same page about open source contribution and help you make it happen.

  • How open source contribution benefits your company.
  • Roadblocks and unblockers to contribution for management and technical teams.
  • Proven, actionable tactics, improved developer workflows.
  • Contribution beyond code and patches.

Soup up Symfony - Keep PHP Alive Between Requests — English

Andrew Carter

Traditionally in PHP, each HTTP request is processed by a new instance of an application. This "shared nothing" architecture provides crucial simplicity, security and stability.

However, we can keep Symfony applications alive between requests and vastly improve their performance.

Wait a minute before charging off! When using PHP in this way we have to pay careful attention to session handling, application state and memory leaks. This talk will demonstrate how to develop and configure Symfony applications for this purpose.

Keynote — English

Fabien Potencier

Keynote

SensioLabs

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

© 2017 SensioLabs - About