Pragmatism in the real world

A rant about error handlingPresented at REST Fest UK, July 2016

Most APIs are usable when everything works, yet it's when something goes wrong that an API's true colours show through. In this talk, I will discuss what I consider to be the minimum viable error response for a competent API, through the lens of a real-world example of possibly the worst I have ever seen…

(Lightning talk)

5 features of a good APIPresented at REST Fest UK, July 2016

Everyone is writing APIs from micro-services through to full applications, but what makes a good one? In this session we’ll go back to the basics and look at what I consider to be five of the more important architectural features that you should think about when creating an API. These are the features that ensure that your API plays well with HTTP and, more importantly, make your API a delight to maintain and work with. I want you to ensure that your API is a good HTTP citizen, while also providing developer-friendly features like thoughtful error handling and documentation.

Getting started with Slim 3Presented at PHP Cambridge user group, June 2016

Slim is a PHP micro framework that enables you to write powerful web applications and APIs. In this talk, I will give an overview of the upcoming version 3 of framework and show how you can easily write maintainable applications with it.

We will look at how Slim's middleware system leverages the new PSR-7 HTTP request and response definitions to create easily understandable and flexible applications. We will cover application setup, routing and the relationship between actions and middleware. By the end of the session, you will be equipped to create Slim applications yourself.

Building APIs with Slim 3Presented at PHP South Coast, June 2016

Everyone is writing APIs from micro-services through to full applications, but what makes a good one? In this session we’ll go back to the basics and look at what I consider to be five of the more important architectural features that you should think about when creating an API. These are the features that ensure that your API plays well with HTTP and, more importantly, make your API a delight to maintain and work with. I want you to ensure that your API is a good HTTP citizen, while also providing developer-friendly features like thoughtful error handling and documentation.

HTTP, PSR-7 and MiddlewarePresented at Day Camp 4 Developers, April 2016

PSR-7 is the new standard for handling HTTP requests and responses in PHP. In this session we’ll examine what this means for our applications now and in the future. By adopting this common interface our existing component frameworks will become even more interoperable and enable us to develop with more shared libraries between applications. Along with standard HTTP messaging formats comes the concept of middleware – separate components operating on requests and responses on the way in and out of the application – so we’ll discuss this too. If you want to see how PHP applications will be built in the future, this session is for you.

Introducing Zend Framework 3Presented at PHPUK, February 2016

ZF3 is the framework that took the opportunity to learn from the previous 4 years of ZF2 and be even better than that! Today's PHP projects are built of components installed via Composer and ZF3's architecture reflects this approach; its core components have also been greatly improved in both usage and performance from older versions of the framework. If you're already running a ZF2 application, you'll be able to upgrade your existing application and there will be some excellent support for doing so – we love it when developers get to use new things. We'll also look at how PSR-7 and middleware has been embraced. If you want to learn what's new in the world of Zend Framework, then this session is for you.

The low down on PHP 7Presented at Bath Digital Festival, February 2016

The PHP world is moving fast these days and there’s a lot to keep up with. PHP 7 is a major new development. So what does it mean for software engineers? Find out about the performance improvements and the new features in this latest release of the web’s favourite scripting language. Developers and technical leads who want to get the most from using PHP will benefit from this session.

Building an API with Slim 3Presented at PHPMiNDS user group, December 2015

Slim 3 builds on the PSR-7 HTTP message interfaces and provides useful features such as routing, and a DI container. It's very lightweight and so is an ideal platform for building an API. In this talk, we look at how to use Slim 3 as the basis for your API.

Secure your web application with two-factor authenticationPresented at php[world], November 2015

Protecting your users' data with just a username and password is no longer satisfactory. Two-factor authentication (2FA) is the primary method of countering the effects of stolen passwords and is easy to implement in your web application. In this session we will discuss what two-factor authentication is, how it works and the challenges associated with it. We will then look how to integrate two-factor authentication into your PHP application's login workflow. We'll consider both YubiKey and Google Authenticator implementations, so you can make your users' accounts more secure.

Building an API with Slim 3Presented at Brighton PHP user group, October 2015

Slim 3 builds on the PSR-7 HTTP message interfaces and provides useful features such as routing, and a DI container. It's very lightweight and so is an ideal platform for building an API. In this talk, we look at how to use Slim 3 as the basis for your API.