Pragmatism in the real world

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.

Secure your web application with two-factor authenticationPresented at PHPNW, October 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.

A first look at ZF3Presented at PHPNW, October 2015

Zend Framework 3 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. If you're a PHP developer with an interest in building excellent, modern applications, then this session is for you.

A first look at ZF3Presented at PHP Oxford user group, September 2015

Zend Framework 3 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. If you're a PHP developer with an interest in building excellent, modern applications, then this session is for you.