The conference takes place on one day, Saturday 11th June 2016.

08:00 Registration & refreshments

Please arrive between 8am and 9am to register. Tea, coffee and light snacks will be available.

Free water will be available throughout the day. Soft drinks will also be available to purchase (cash only).

Spectrum IT Room JetBrains Track
09:00 Opening address


Chris' first ever UK talk Chris Hartjes
Keynote: An Oral History of How I Got Grumpy

Chris Hartjes
09:50 Room change


Michael Heap Profiling Your PHP Application

Michael Heap

So, you’ve been through and changed all your double quotes to single quotes but your application still isn’t running at the speed of light. What’s going on?

Making an application scale is generally seen as something that only the most magical of developers can do, but it’s easy once you have the correct tools. Fortunately for us, these tools are freely available online!

In this talk, we’ll take a look at a few options that we have available to work out what our application is actually doing, help identify bottlenecks and fix them so that we can move on to the more important part of the project: delivering features.

Mark Baker A Functional Guide to Cat Herding with PHP Generators

Mark Baker

When working with arrays in PHP, three of the most useful functions available to us are array_map(), array_filter() and array_reduce(), which allow us to walk an array and manipulate the value of array elements, select a subset of values from an array, or reduce an array to a single value; all using a callback function to determine exactly what logic should be applied. The use of the callback makes them extremely flexible, and these functions can be particularly powerful, especially when combined (or chained) together.

However, these functions only work with standard PHP arrays; so if we are using Generators as a data source instead of an array, then we can’t take advantage of the functionality that they provide. Fortunately, it’s very easy to emulate that functionality and apply it to Generators (and also to other Traversable objects like SPL Iterators), giving us access to all of the flexibility and power that mapping, filtering and reducing can offer, and with all the benefits that Generators can offer our code.

So how do we go about implementing filter(), map() and reduce() functions for our Generators? How do we use those functions in our applications? Mark will be answering those two questions, and explaining how he keeps track of his cats armed only with a GPS Tracker, PHP Generators, and filter/map/reduce.

10:50 Break & refreshments

Tea and coffee will be served.

Free water will be available throughout the day. Soft drinks will also be available to purchase (cash only).

Spectrum IT Room JetBrains Track


Rob Allen Building APIs with Slim 3

Rob Allen

Fast, discrete APIs are a key part of many web applications and Slim 3 is a fantastic platform for building them. With a focus on PSR-7, the new standard for HTTP messaging in PHP, Slim's middleware focus and ability to get out of the way ensure thats you can buld APIs that are a joy to work with. We'll cover content-type handling, accept header awareness, error handling and all the other things required to ensure that your APIs are easy to integrate with. By the end of this session you will be well placed to write your own APIs with Slim 3.

Clair Shaw There's More to Code Reviews than You Might Think

Clair Shaw

So, you do code reviews, and that’s great. But there’s always more that you can check during the review. More places you can check for any potential bugs or problems before deployment, before you find yourself with technical debt. Or worse: unforeseen downtime.

In this talk Clair will be going through the things that you should be checking to ensure confidence for developers, project owners and stakeholders. We’ll be looking at documentation, commit messages, and common code problems, with examples and tips along the way.


Tess Barnes Version Control - Tips, Tricks and Good Citizenship

Tess Barnes

Are you nervous of version control even if you don’t admit it? Have things got harder since your team expanded? Don’t panic! you’re not on your own. Tess has put together a run down of some of her tricks, tips and “good citizen” techniques to avoid the worst kinds of conflicts and deal with the remaining ones as efficiently as possible.

12:05 Lunch service

Lunch will be served in the main exhibition area.

Free water will be available throughout the day. Soft drinks will also be available to purchase (cash only).

Spectrum IT Room JetBrains Track


Marco Pivetta Extremely Defensive PHP Programming

Marco Pivetta

Resistant, highly testable, safe and maintainable code... or not?

There are a thousand ways to break your code, and a lot of ways to prevent that from happening.

Let's explore defensive programming and learn how to protect our code from invalid usage.

Chris Riley The Secrets of Cryptography

Chris Riley

Alice and Bob have secrets they want to talk about without Eve being able to listen in. Worse yet, the mischievous Mallory delights in changing messages sent between parties. In such a hostile environment how can Alice talk to Bob without their messages being overheard and how can she be sure that it was Bob that sent the message in the first place?

This talk will take a brief look at historic codes and ciphers before taking a look at modern day Cryptography. If you want to be able to know the difference between a block cipher and a stream cipher or get a glimpse into the mathematics behind public key Cryptography this talk is for you.

14:00 Room change
Spectrum IT Room JetBrains Track


Anthony Ferrara Anatomy of a Type System

Anthony Ferrara

PHP 7 has arrived! One of the major features that it brings with it is the ability to use scalar typing. Are you ready for it? Join me as we take a tour through PHP 7's type system from end to end. Don't know what a type is? Come and find out! Are you a seasoned type user? Come learn how to leverage the new options! Confused about weak vs strict types? We'll cover concept, theory and practical details of the type system while exploring how PHP's type system compares to other languages.

Gianluca Arbezzano Parallel Made Easy

Gianluca Arbezzano

Thanks to cloud computing, the ability to split processes on different machines is now very easy. During this talk Gianluca will share his experience with the Zend Framework Core Team to split their repository into different isolated components (one of the main features of ZF3) whilst retaining git history. This is a good case study due to their use of AWS, PHP and bash to split their git history of over 20,000 commits.


Dave Hulbert Practical Intro to Using PhpSpec

Dave Hulbert

PhpSpec is a tool for “SpecBDD”. Basically test-driven development (TDD) but without the word “test” in it. This talk shows how to effectively use PhpSpec for fun and/or profit, and the advantages to using it along side other tools like PHPUnit and why it’s “literally” made of awesomesauce.

We’ll start off with a breakneck primer on unit testing and basic TDD concepts. Then we’ll move on to getting set up with PhpSpec, followed by a guided tour of its main features. By the end of the talk you’ll have techniques to take advantage of your natural inclination to lazyness to actually help you write better code.

15:00 Break & refreshments

Tea and coffee will be served.

Free water will be available throughout the day. Soft drinks will also be available to purchase (cash only).


Bastian Hofmann HTTP/2.0 101 Introduction

Bastian Hofmann

After 16 years a new version of the HTTP protocol has now been finalized and wide support in browsers and web servers is coming quickly. In this talk Bastian will explain how HTTP and browsers work in general and what you currently have to do to make your application as fast as possible. Based on this he will show what HTTP/2.0 is all about, what it changes and how it can help your application’s performance.

Oliver Davies Drupal 8 - Rejoining the Herd

Oliver Davies

Drupal 8 was (finally) released on November 19th 2015, after almost 4 years of work and code commits by over 3,200 different contributors. Whilst it’s pretty much the same as the Drupal that we know and, hopefully, love, a lot has changed behind the scenes and under the hood!

In this talk, Oliver will highlight some of the new features and improvements in Drupal 8, and discuss some of the benefits to Drupal site builders, themers, and module developers. Oliver will also talk about some of the non-technical changes and the cultural shift from “not invented here” to “proudly found elsewhere”, and how we are rejoining the PHP herd.

16:15 Room change
Spectrum IT Room JetBrains Track


Sara Golemon Extended in 30 Minutes or Less, or Your Money Back

Sara Golemon

Language runtimes do their best to meet all your development needs, but sometimes there’s some random C library you need access to from a higher level language, and it’s just not there. Learning PHP’s zvals and HashTables, and its score of macros and pointers can be intimidating and off-putting. Sara will show that there’s a better way: HHVM extensions require little more experience than a firm knowledge of PHP, and a willingness to break things. By the end of this presentation, we’ll have live-coded a real-world extension wrapping a real-world library, and you’ll be able to as well.

* Offer of money back is satirical in nature and does not guarantee actual refund for any purposes. :)

Chris Sherry WordPress for the Modern PHP Developer

Chris Sherry

Chris has a love-hate relationship with WordPress, but whether you like it or not, it powers 23% of the Internet. Many of these projects have outgrown their humble beginnings as blogs or websites and are now highly customised web applications. However the modern tools we use as PHP developers can be tricky to utilise with the popular blogging platform.

This technical talk will guide you through how to make the use of Git, Composer, and other tools familiar to PHP developers within your WordPress install - and help you take back control of your themes, plug-ins, database and environments in a growing application.


Jeremy Mikola JeoPHPardy!

Jeremy Mikola

Please can all attendees join us in the Spectrum IT room for the closing.

Please head to the Spectrum IT room for the closing.

17:45 Closing address
18:00 Social & dinner service

Dinner will be served after the talks finish, with two mains to choose from.

Splice the Mainbrace!

Splice the Mainbrace! Delegates who have completed their treasure map will qualify for a traditional tot of rum, just like the Royal Navy. The rums to choose from will be:

  • Chairman's Reserve Spiced Rum
  • Appleton Special Jamaican Rum
  • Kraken Black Rum
  • Captain Morgan's Spiced Rum
  • Flora de Caña 470 Extra Serco White Rum
  • Lamb's Navy Rum

Free Bar

Everyone will get some tokens for our free bar, featuring a selection of local ales:

  • Mary Rose Ale
  • Nuptu'Ale
  • Pompey Royal
  • Hole Hearted
  • Ringwood Ale
There will also be a selection of other beers, wines, and soft drinks.

Laser Quest, sponsored by Roave

To partake in the free laser quest activity, please go to the main registration desk to sign up. You can form your own team, or just join in with a game. Make sure to thank Roave for sponsoring this activity!

Board games & card games, provided by A Fistful of Dice

Board and card games are free to play in the JetBrains room after the conference ends. These are provided by a local games shop in Portsmouth, A Fistful of Dice.