Schedule

Thursday, October 19th

  Track A
08:00
08:45
Badge pick up and welcome breakfast
08:45
09:00
Welcome session
09:00
09:40
Symfony 4
Fabien Potencier
09:45
10:25
Dependency Injection Component v4.0
Nicolas Grekas
10:25
10:50
Break
10:50
11:30
Our Journey into Decoupled Apps with Symfony
Josh Schroeder
11:35
12:15
Hadoop, PHP and Symfony
Michael Cullum
12:15
14:00
Lunch
14:00
14:40
Employing CQRS and Event Sourcing to Build an MVP
Beau Simensen
14:45
15:25
Managing dependencies is more than running "composer update"
Nils Adermann
15:25
15:50
Break
15:50
16:30
BDD API Development with Symfony and Behat
Adam Englander
16:30
17:15
Lightning talks
17:30
20:30
Conference Happy Hour

Friday, October 20th

  Track A
09:00
09:40
Webpack Encore - Pro JavaScript and CSS for Everyone
Ryan Weaver
09:45
10:25
Knowing your state machines
Tobias Nyholm
10:25
10:50
Break
10:50
11:30
Symfony at OpenSky
Pablo Godel
11:35
12:15
Integrate Symfony Components into your next WordPress Site
Kevin Simpson
12:15
14:00
Lunch
14:00
14:40
Improving API communication using GraphQL
Pascal de Vink
14:45
15:25
Building an Admin Backend with Sonata Admin
Michael LaVista , David Wnek
15:25
15:50
Break
15:50
16:30
Kafka will get the message across, guaranteed.
David Zuelke
16:30
17:00
Closing session

Symfony 4 — English

Fabien Potencier

Symfony 4

BDD API Development with Symfony and Behat — English

Adam Englander

BDD API Development with Symfony and Behat

You may have built an API in Symfony before. You may have even written some browser tests in Beta. Did you ever consider using Behat to write integration tests for your API? If not, you definitely should. The portability and reusability of Behat steps make it the perfect platform for API integration tests. The Symfony kernel integration for Behat and absence of JavaScript in an API makes this match made in heaven. Pull up a cloud and let me show you the pure awesomeness that is BDD API Development with Symfony and Behat.

Hadoop, PHP and Symfony — English

Michael Cullum

Hadoop is a big data technology suite that provides a range of tools for storing, interacting with and manipulating large data sets, or to help solve big data problems which might relate to the structure and distribution of the data just as much as the size of it. With many companies approaching points where they need to be able to handle large amounts of data, either right now or looking forward in order to scale, Hadoop is one of the core technologies that can help aid you there.

In this talk I'll provide an outline of HDFS, Hive and Spark, how you can use them; the differences between Hadoop and other technologies such as Elasticsearch; about Presto, a distributed SQL query engine that will allow you to query your data with simple SQL queries. And finally, I'll talk about how you can utilise these resources from within your Symfony application, allowing your platform to interact with huge volumes of data easily and quickly.

Employing CQRS and Event Sourcing to Build an MVP — English

Beau Simensen

Learning about Command Query Responsibility Segregation (CQRS) and Event Sourcing can be both exciting and confusing. It sounds great, but how does it work in the real world? Won't it be a lot of work before you even get started? Will it be worth the investment and when will that investment start paying off? Are these technologies appropriate for building a minimum viable product (MVP)? Find out how these questions were answered for one team as they set out to build their MVP.

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.

Building an Admin Backend with Sonata Admin — English

Michael LaVista , David Wnek

A walk-through of using Sonata Admin with Symfony for an Admin Console/ Backend. What it is and how to use it, helpful tips and gotchas that are tough to find in the documentation, and then some of the more advanced customization that can be done with it and how to do it.

I work at a digital agency that specializes in Symfony, and we use Sonata Admin on almost all of our Symfony projects - especially with decoupled applications. We have found it to be a powerful and efficient tool for ourselves, and I'm looking forward to being able to share what I have learned so that it can become one of your favorite tools as well.

The one complaint I always hear about using Sonata Admin is the lack of documentation - so my hope with this talk is to bridge that gap and encourage people to pick it up, and perhaps help improve the docs along the way!

Our Journey into Decoupled Apps with Symfony — English

Josh Schroeder

I work at a digital agency and we build decoupled apps with a Symfony backend almost exclusively - but three years ago was quite a different story. As JS frameworks and single page apps came into the spotlight, we began the shift from Symfony+Twig to using Symfony as a REST API and Admin backend.

We'll discuss the various solutions we have used to build our APIs like using FOS REST, HATEOAS bundles, OAuth bundles, JWT authentication, JMS Serializer, and Api Platform. Lastly, we'll discuss why we're using API Platform now and why you should check it out if you haven't yet.

Managing dependencies is more than running "composer update" — English

Nils Adermann

Can you get yourself out of every tricky situation with Composer? This talk covers a broad range of dependency management subjects: From assessing risk, e.g. through BC breaks, introduced into your business critical code by third party software, all the way to hands-on tips for working with composer in the real world, e.g. what to do if composer.lock conflicts during a merge, when your colleagues and you modified dependencies in different ways.

Webpack Encore - Pro JavaScript and CSS for Everyone — English

Ryan Weaver

Ready to write an amazing front-end for your app? There are so many great tools, like React, Vue.js, module loaders, Sass, LESS, PostCSS and more. But, they all have one thing in common: you need to configure a build system before you write a single line of code!

Thankfully, there's Webpack: the leading tool for processing & bundling your JavaScript and CSS. There's just one problem: configuring Webpack is tough and requires a lot of Webpack-specific knowledge.

Say hello to Webpack Encore: a library built by Symfony to quickly bootstrap a sophisticated asset setup, complete with minification, SASS processing, automatic versioning, Babel support and everything you need to start writing great JavaScript quickly. In this talk, we'll also learn about using JavaScript modules, how to bootstrap a framework (like React) and other important modern practices. Give your assets a huge boost with Webpack Encore!

Dependency Injection Component v4.0 — English

Nicolas Grekas

The Dependency Injection component is one of the central pieces of any Symfony applications since version 2.0. Starting this winter, it has gained many new features that were needed to build the new Symfony 4 experience around Flex.

While used extensively in core, can you leverage them in your own apps? Can you create a lazy iterator in Yaml? A scoped service locator? Configure auto-configuration? During this talk, I'll tell you about the new tags, interfaces or annotations that allow building powerful services. The goal: making your apps always more expressive, thus maintainable.

Improving API communication using GraphQL — English

Pascal de Vink

After the headache that was SOAP and the confusion that was REST+HATEOAS, comes a new contender to the API communication market for the web: GraphQL. In this talk, we'll take a deep dive into what it is, what benefits GraphQL provides, how it differs from the previous generations of API communication and of course how easy it is to implement a GraphQL API using Symfony.

Integrate Symfony Components into your next WordPress Site — English

Kevin Simpson

A popular choice with some of our clients is to use WordPress, however as a Symfony developer, working with WordPress feels like going backward time.

Over the last year or so, we've been experimenting incorporating Composer, MVC design patterns, and Symfony component libraries with WordPress. This hybrid approach has been very successful for us, and we want to share some of the things that we have learned with the Symfony community.

In this talk I will cover:

  • Configuring Composer to manage WordPress
  • Building pages using MVC in WordPress
  • Helpful WordPress plugins to make your integration easier
  • Rendering WordPress templates using Twig
  • Incorporating Symfony Components
  • Autoloading, DI Container, Exception Handling, Logging in WordPress
  • Extending HttpCache to provide a caching layer to our WordPress sites.

Have the best of both worlds - our clients get the CMS that they want, and our developers use proven technology solutions built by the Symfony community.

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.

Symfony at OpenSky — English

Pablo Godel

OpenSky is one of the first large ecommerce platforms to use Symfony2. The whole marketplace has been running on Symfony for many years. Over this talk we will share:

  • how we use the framework and other PHP components
  • our deployment process
  • using Doctrine with MySQL and MongoDB
  • things we learned to avoid
  • running a large PHPUnit test suite

Any more interesting tips on how our team operates with a large code base.

SensioLabs

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

© 2017 SensioLabs - About