Thursday, November 27th
Friday, November 28th
Saturday, November 29th
Fabien Potencier - English - Keynote - Thursday, 09:00
Feature Flags with Symfony
Benjamin Eberlei - English - Track A - Thursday, 10:05
Did you ever want to toggle a feature of your application on and off? Or test a new functionality with just a subgroup of users? It is ridiculously simple to implement feature flags with Symfony's dependency injection container. This talk will introduce you to the different kinds of feature flags and show you how to implement them with Dependency Injection.
Meet Elcodi, the flexible e-commerce components built on Symfony2
Marc Morera - English - Track B - Thursday, 10:05
Elcodi is a suite of bundles for Symfony2 which aim to help developers build and quickly scale e-commerce websites. It is written in a clean, straightforward way to ease and smooth the learning curve and it promotes development productivity, SOLID, DRY principles without adding too many layers of indirection. Some of the goals we think we've reached: Balance between flexibility and development speed, Reusable components and foundations for writing custom Model. We'd like to share some insights on how we are approaching those topics by using rigorous coding standards, enforcing coherence and loose coupling, aiming for comprehensible and self-explaining code. See how you can leverage Symfony components for addressing similar challenges and let's discuss the rationales behind some good practices. And above all, see how to do it without pain, because we think that coding should always be a pleasure and crafting developer-friendly software is in our DNA!
Five Weird Tricks to Become a Better Developer
Jordi Boggiano - English - Track A - Thursday, 11:05
No BDD, TDD or SOLID here. No best practices for class naming. No arguing about tabs vs. spaces or vim vs. emacs. Jordi will present a few ways to become a better developer by getting better with the non-coding skills our jobs require. Skills like empathy, pragmatism and being human.
Filesystem Abstraction with Flysystem
Frank de Jonge - English - Track B - Thursday, 11:05
In almost all of the applications we create in our day to day lives we work with filesystems. These days it's not just our local filesystem anymore. It's AWS S3, Dropbox, (S)FTP, or any other cloud filesystem provider. They all have their pros and cons. In this talk we’ll go into several aspects of choosing and working with filesystems and how Flysystem helps you out in this process. We'll go over: technical debt, separation of concerns, domain vs implementation and how using an abstract filesystem can help you be flexible.
Symfony Grows Up: The Developer Experience (DX) Initiative
Ryan Weaver - English - Track A - Thursday, 11:50
I'm routinely overwhelmed by the quality, features and people that make Symfony possible. But earlier this year, I looked around and at the Symfony universe and saw something I didn't like: complexity. Not because our high-quality tools need to be hard, but because we had stopped asking one important question each time we solved a problem: "How could we make this simpler?"
And so, the Developer Experience (DX) initiative was born to ask that question and make Symfony more productive and joyful. In this talk, I'll show you what we've already accomplished and how it will immediately affect how you develop (in a good way). We'll also see what's next and why I'm so excited about the future.
Developing Business Application with Oro Platform
Yevhen Shyshkin - English - Track B - Thursday, 11:50
The Oro Platform is an Open source Business Application Platform (BAP). It offers developers features and tools they’ve been looking for. Built using PHP5 and the Symfony2 framework, developing custom business applications has never been so easy, come and learn how to do create your own application with Oro Platform.
Rock Solid Deployment of Symfony Apps
Pablo Godel - English - Track A - Thursday, 14:00
Web applications are becoming increasingly more complex, so deployment is not just transferring files with FTP anymore. We will go over the different challenges and how to deploy our PHP applications effectively, safely and consistently with the latest tools and techniques. We will also look at tools that complement deployment with management, configuration and monitoring.
Kunstmaan CMS bundles, you're welcome
Kim Ausloos - English - Track B - Thursday, 14:00
Almost 3 years after the start, the Kunstmaan CMS bundles are now used all over the world. It wasn't all sunshine and rainbows -building a cms is hard work- but luckily Symfony and it's many fine bundles make it easier. Nonetheless, it took some time to put the cherry on top so I'll talk about the pitfalls too. My presentation is about where we came from, how we handled the situation and how we built the Kunstmaan bundles. Want to know more... ? I'll be happy to answer all your questions!
Symfony Tips and Tricks
Javier Eguiluz - English - Track A - Thursday, 14:45
This talk will make a quick overview of tips, tricks and code snippets for developers using Symfony and all its ecosystem, from Monolog to Doctrine.
Learn how to become more productive and discover some rarely used options and features.
Alessandro Nadalin - English - Track B - Thursday, 14:45
Since bumping into AngularJS a few months ago, we decided to invest more and more time developing applications with it: coming from a PHP background, the shift of paradigm easy due to the use of patterns and intuitive flows: even though this won’t be a very in-depth technical talk, we are going to see why you should consider working with angular: fast single-page apps, DI, ease of testing, being asynchronous, scaling on the clients. Welcome to the future.
Make Symfony shine with Varnish
Carlos Granados - English - Track A - Thursday, 15:45
In this talk you will learn how we used Varnish to provide a 100x increase in the throughput of our site, clippingbook.com. We will learn how to install varnish and how to configure it to work correclty alongside Symfony, including:
- How to handle logged in and not logged in users
- Using ESI
- Caching for different devices
- Deciding what to cache and what not and how to configure Symfony for this
PHP object mocking framework world: let's compare Prophecy and PHPUnit
Sarah Khalil - English - Track B - Thursday, 15:45
Heard about PHPSpec? Well its PHP object mocking framework called Prophecy is quite nice. We'll discover its API, similarities and improvements regarding the one from PHPUnit.
Finally, we'll take a look at the integration of Prophecy in PHPSpec.
Jeremy Mikola - English - Track A, B - Thursday, 17:30
Please phrase your answers in the form of a question?
Growing and managing communities for large Open Source projects
Jen Lampton - English - Keynote - Friday, 09:00
The growth of an Open-Source project brings a windfall of opportunties. More users, more developers, more design experts, and more... everything. Despite the thiving of the overall community, something else is also growing: problems. Code reviews back up, the spriral of complexity becomes unstoppable, amazing and dedicated contributors burn out in fireballs of frustration and regret.
Come listen to Jen Lampton, a community organizer and developer, talk about management of development workflows, decision making, and appealing your project's broader audience.
Big data, Great! Now what?
Ricard Clau - English - Track A - Friday, 09:45
Big Data is one of the new buzzwords in the industry. Everyone is using NoSQL databases. MySQL is not cool anymore.
But... do we really have big data? Where should we store it? Are the traditional RDBMS databases dead? Is NoSQL the solution to our problems? And most importantly, how can PHP and Symfony2 help with it?
Life After Assetic: State of the Art Symfony 2 Frontend Dev
Michelle Sanver - English - Track B - Friday, 09:45
With Gulp and Bower, we can ditch Assetic and get to grips with the latest and greatest. We will go through how to automate and optimise our Symfony2 frontend workflow in a more efficient manner than we have ever done before.“
Sylius - E-Commerce for Symfony2
Paweł Jędrzejewski - English - Track A - Friday, 10:45
Introduction of Symfony powered e-commerce framework for PHP. What is Sylius and how can it help all Symfony developers with their next online selling platform. How Sylius leverages Symfony2 flexibility to provide next-generation online-selling platform and why Symfony is the best choice for modern e-commerce.
Solving the Hard Parts of eCommerce
Bojan Zivanovic - English - Track B - Friday, 10:45
Thanks to Composer and Symfony, we all realize the advantages of single purpose libraries that solve specific problems. However, when it comes to eCommerce, there are few such libraries.
eCommerce projects tend to be monolithic applications. Every few years we start over with a new technology stack, but we keep repeating the same mistakes with taxes, pricing, payments, addresses, etc. Our knowledge resets.
How can we build a knowledge base of best practices? What reusable code can we publish?
This session will provide an overview of some problems that we believe can be solved by abstract libraries:
- Currency handling
- Price management and complex pricing
- Tax handling and the interaction between taxes and discounts
- Address input and formatting
- Payment processing
We’ll then demonstrate the libraries Commerce Guys is publishing that we will use to power Drupal Commerce 2.x, the next version of the popular Drupal eCommerce module suite with more than 45,000 live sites.
mysqlnd, an unknown powerful extension
julien pauli - English - Track A - Friday, 11:30
Some of you may have heard about mysqlnd. I personnally gave it a try and stepped deep into its heart. Here, I'll show you what mysqlnd can do for you, mainly how it can powerfuly decrease memory consumption when retrieving datasets, how it can hint you about wrong but working queries from PHP side, and how you can plug in additionnal code to turn this extension to an even more useful tool. We're gonna be hooked between MySQL and PHP to see and analyze whatever transits
Unleash Postgresql features in your PHP developments.
Grégoire Hubert - English - Track B - Friday, 11:30
While other scripting languages are racing at supporting Postgresql features, with the Pomm object model manager, PHP already supports them all. During this session we will see how Postgresql with its rich type set and operators can shape data structures in application's model layer. How it is possible to send events in the database to triggers detached processes and how to integrate schemaless components in a strongly typed relationnal database
The Twelve-Factor App: Best Practices for PHP on Platforms-as-a-Service
David Zuelke - English - Track A - Friday, 14:00
Horizontal scalability has always been at the core of PHP application design, and in the cloud, that approach shines the brightest. But to fully leverage the power and convenience of PaaS offerings such as Heroku, it's worth following certain best practices and methodologies when developing applications. This presentation covers all the steps from code and dependency management over configuration to maintaining dev/prod environment parity, and will demonstrate, live on stage, just how easy it can be to deploy and scale a Symfony application on Heroku.
Artificial Neural Network in a Tic Tac Toe Symfony Console Application
Eduardo Gulias - English - Track B - Friday, 14:00
Among all the C libraries bindings PHP offers, there is one for FANN: Fast Artificial Neural Network (libfann). With it you can easily create a neural Network with different activation functions for each neuron/ layer. ANNs (Artificial Neural Networks) are used for machine learning and for recommendation systems. In this Talk we will show an implementation (and running demo) of a basic IA that will learn to play Tic Tac Toe leveraging the Symfony console componente as UI While we demo, we will show a detailed log of what is going on.
Developing Beautiful, Measurable Software
Jeremy Mikola - English - Track A - Friday, 14:45
Software engineering is a measurable art. At some point or another, most developers have come across code that elicited feelings of approval or disgust; however, "clean code" can be more than a matter of opinion. We can measure it! This session will explore the spectrum of object calisthenics, software metrics, and tools that we can employ to help us create beautiful software.
Implementing data synchronization API for mobile apps with Silex
Michele Orselli - English - Track B - Friday, 14:45
Le app mobile al giorno d’oggi sono molto comuni. Spesso queste applicazioni non possono contare su una connessione ad internet costante: la possibilità di lavorare in modalità offilne sta diventanti sempre più comune. In questo caso di studio vedremo una possibile implementazione di una architettura che abiliti la sincronizzazione dei dati creati in modalità offline.
Today mobile apps are everywhere. These apps cannot count on a reliable and constant internet connection: working in offline mode is becoming a common pattern. This is quite easy for read-only apps but it becomes rapidly tricky for apps that create data in offline mode. This talk is a case study about a possible architecture for enabling data synchronization in these situations. Some of the topics touched will be:
- id generation
- hierarchical data
- managing differente data types
- sync algorithm
PHP Profiling: from theory to practice
Fabien Potencier - English - Track A, B - Friday, 15:45
I bet you are writing unit tests for your apps; if not, you probably feel ashamed. But what about performance? Everyone is talking about it but very few people actually integrate performance into their development workflow... After some quick theory, I will show you how to use xhprof and xdebug, two popular tools to profile PHP applications. Then, I will introduce you to Blackfire, a new profiler that makes it so easy to profile your apps that you won't have any more excuses for not doing it.
Finally, I will talk about my new holy grail: Continuous performance profiling.