Decorating Applications with Stack

Stack is a convention for composing HttpKernelInterface middlewares. By following Stack's conventions you can add behavior and functionality to any application based on Symfony's HttpKernelInterface. This means Stack middlewares can be applied to Silex, Laravel 4, and Drupal 8 applications in addition to any other HttpKernelInterface based application. Learn the conventions, see community middlewares, and find out how to get started with Stack.

Presented by Beau Simensen

Beau Simensen (@beausimensen, beau.io) has been a professional polyglot programmer since 1998. He owns Dragonfly Development (dflydev.com), a consulting company, and is Co-founder and Chief Software Architect for REFLX Labs, a wearables startup out of Seattle. An active open-sourcer, he created Sculpin (sculpin.io) and helped create Stack PHP (stackphp.com). He is also the Sculpin representative to the PHP Framework Interoperability Group (PHP-FIG). Beau is a proponent of framework agnostic code. Unglue all the things!

Mocks Aren't Stubs, Fakes, Dummies or Spies

If you're familiar with testing your PHP code, there's a good chance you've been using mock objects: But are they really mocks? The term mock object is commonly used in the PHP community to describe both Mocks and Stubs, but they do behave differently, and more importantly, they should be used differently.

Test double is used as the general name for objects, procedures or systems used to replace real components, purely for testing purposes. As the title of the talk implies, mock objects aren't the only kind of test doubles out there.

This talk will cover the basic differences between the test doubles you might use and when or what you might utilise them for, including practical examples using several of the most popular PHP test double libraries. We'll then go into a little bit more detail on how the way you approach the design of your software can lead to the use of the different types and the trade-offs between those approaches.

Presented by Dave Marshall

Dave Marshall is a software engineer, who has been building web applications with various technologies since 2004. Dave is a big fan of the Kaizen philosophy and is constantly trying tools, techniques and methodologies to improve his output.

Dave currently works as the Technical Manager at Childcare.co.uk, runs ATST Solutions, blogs at davedevelopment.co.uk and recently started a podcast.

In his spare time, Dave has started making an effort to contribute back to the open source community, contributing to projects like Mockery and Silex, and also attending and talking at conferences.

Closing Keynote: Doing Everything with Nothing: Ephemeralization in the Cloud

Presented by David Zuelke

David works at Heroku, a cloud platform as a service headquartered in San Francisco. He was already building applications for the Web when the dot-com bubble burst, and went on to co-own a software consultancy before exploring the eCommerce and Berlin startup scene. Based in Munich, Germany, he is a regular speaker at technology conferences around the world and an avid fan of all things fast or exciting.

The Dependency Trap

A framework, by definition, provides a basic set of tools to use for application development to avoid writing repeatable code. It often encourages us to take shortcuts to enable rapid development. In theory, we only need to implement the part which is specific to our domain. In practice, we often end up with highly coupled code, mixed layers and a dependency graph deceptively close to spaghetti.

This talk is going back to basics to remind you what software coupling is and when to consider it good or bad. The presentation will also demonstrate a few techniques on how to write applications that embrace change in a Symfony environment.

Presented by Jakub Zalas

Jakub Zalas is one of the members of the Symfony Core Team, active in the community, organising regular meetups, speaking at conferences and contributing to open source software. He works at SensioLabs UK as a Technical Team Leader and Trainer. Being focused on quality, he's very into methodologies like Specification by Example and TDD.

One Commit, One Release. Continuously Delivering a Symfony Project

For the last few months we've been implementing a Continuous Delivery pipeline for the redesign of Time Out. In this talk I will demonstrate a real life example of what our pipeline looks like, the different tools we've used to get it done (phing, github, jenkins, ansible, AWS S3, ...), and peculiarities for PHP and Symfony2 projects. Most importantly, I'll be looking at things we've struggled with along the way and the lessons we've learnt.

Presented by Javier López

Javier López is a former SensioLabs UK software engineer, currently working as a Software Architect for Time Out. He has been working with PHP for the last eight years and is Symfony Certified as well as a ZEND Certified Engineer PHP 5. When not coding away, he is one of the co-organisers of "deSymfony", the largest Spanish speaking Symfony conference in the world. Javier also gets involved in the community by speaking at local events about Composer and PHP-FIG.

Decoupling with Design Patterns and Symfony2 DIC

How do you create applications with an incredible level of extendability without losing readability in the process? What if there's a way to separate concerns not only on the code, but on the service definition level? This talk will explore structural and behavioural patterns and ways to enrich them through tricks of powerful dependency injection containers such as Symfony2 DIC component.

Presented by Konstantin Kudryashov

Konstantin heads-up Inviqa's BDD (Behaviour-Driven Development) practice and has over six years of experience with PHP. Best known in the community by his online username Everzet, Konstantin is a BDD/TDD evangelist and an open source enthusiast. He is renowned for his creation of Behat, a tool designed to simplify software product development, which has received over 460,000 installs and has recently launched its third edition. In addition to having created several tools and frameworks of his own, Konstantin contributes to both Symfony2 and Doctrine2. You can find him on Twitter or Github.

How Kris Builds Symfony Apps

You've seen Kris' open source libraries, but how does he tackle coding out an application? Walk through green fields with a Symfony expert as he takes his latest “next big thing” idea from the first line of code to a functional prototype. Learn design patterns and principles to guide your way in organising your own code and take home some practical examples to kickstart your next project.

Presented by Kris Wallsmith

Keynote: Understanding Craftsmanship

Presented by Marcello Duarte

Marcello Duarte is the lead developer of PhpSpec and Head of Training at The Inviqa Group, which includes SensioLabsUK. As a professional Agile coach, Marcello has trained many teams across numerous organisations into adopting Agile processes and development practices like Scrum, TDD, Refactoring, Collaborative Product Ownership and Software Quality.

Optimising Your Front End Workflow

We take great care in our back end coding workflow, optimising, automating and abstracting as much as is possible. So why don't we do that with our front end code?

In this session, we'll take a look at some tools to help us take our front end workflow to the next level, and hopefully optimise our load times in the process!

We'll be looking at using Twig templates and optimising them for the different areas of your application, integrating Bower and Gulp for managing assets and processing our front end code to avoid repetitive tasks - looking at how that impacts the typical Symfony workflow.

Presented by Matthew Davis

Matthew Davis is a certified Symfony2 developer from Stoke-on-Trent, who has been working with PHP since 2004. He's a recovering musician having spent five years touring the world on cruise ships playing drums and keyboards. He can mostly be found lurking on Twitter.

The Naked Bundle

The Bundle system is one of the greatest and most powerful features of Symfony2. Bundles contain all the files related to a single feature of your application: controllers, entities, event listeners, form types, Twig templates, etc. But how much of that actually needs to be inside a bundle?

In this talk we’ll take a bundle, containing all those different types of classes, configuration files and templates, and strip it down to the bare necessities. And I promise that after moving many files out of the bundle, everything still works.

While looking for ways to move things out of the bundle, I will discuss some of the more advanced features of bundle design, like prepending configuration, compiler passes and Doctrine mapping drivers. We will end with a very lean bundle, surrounded by a few highly reusable, maximally decoupled libraries.

Presented by Matthias Noback

Matthias Noback started his professional career 12 years ago as a freelance web developer. After working as a PHP developer for various companies, he decided to try something else; though programming will always be his passion, he has now taken this further and is also teaching, writing and consulting. He is the author of "A Year With Symfony" and regularly posts on his blog "PHP & Symfony".

Converting a Website to a New Religion: Symfony

When you have a huge website and you decide to make the move to Symfony, it can be a very daunting prospect of having to rewrite your entire website on top of the Symfony framework. We’ll go through how this can be done as smoothly as possible with a large enterprise size website, piece by piece, deploying your site every step of the way, following along with the example of phpBB, an organisation going through this process, to discover the right and wrong way to go about it and the many tools you can use on enterprise-scale Symfony applications to help along the way.

Presented by Michael Cullum

Michael Cullum has been an open source contributor and PHP developer for the last seven years. He is an official team member at phpBB and works a lot with Symfony, PHP FIG and Composer.

Sylius - eCommerce for Symfony2 Developers

Introduction to Symfony powered eCommerce 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 eCommerce.

Presented by Paweł Jędrzejewski

Paweł Jędrzejewski is an entrepreneur and software developer living in Poland. In 2011 he created Sylius - an open source eCommerce solution for Symfony2. The project is still in development with almost 150 contributors, but is already being used by people and companies worldwide.

Image credits: Simon & His Camera via Compfight cc & Jamie In Bytown via Compfight cc