Pragmatism in the real world

Slim 4: PHP's MicroframeworkPresented at PHP MiNDS, March 2020

With support for a host of PSR standards, Slim 4 is the PHP micro framework that enables you to write powerful web applications and APIs that embrace the wider PHP ecosystem and in this talk, I will show how. It takes advantage of many of the FIG group's PSR standards to allow easy interoperability with a large ecosystem of components. We will look at how Slim's middleware system leverages the PSR-15 middleware and request handlers to create easily understandable and flexible applications. We will cover application setup, routing and the relationship between actions and middleware. Dependency injection is very useful in a modern PHP application and we'll look at how to integrate any PSR-11 container with Slim ensuring you can decouple your dependencies. By the end of the session, you will be equipped to use the new Slim 4 to create web applications yourself.

The Making of a Great APIPresented at PHPSW, March 2020

Everyone is writing APIs but what makes a great one? I will take you on a tour of the most important features that you should think about when creating an API. These ensure that your API plays well with HTTP and make your API a delight to maintain and work with. Give your API a competitive edge by making it great and developers will want to work with it.

Building Modern APIsPresented at PHPUK, February 2020

Modern applications increasingly require an API, whether to support rich client-side experiences, mobile apps, or to integrate with other systems. This hands-on, practical tutorial will teach you how to build a really excellent and robust API in PHP, based on Slim 4.

Strict typing and static analysisPresented at Sunshine PHP, February 2020

PHP 7 introduced type declarations and so brought PHP into the world of strict typing. Each subsequent release in the 7 series has improved this and PHP 7.4 is no different with exciting new type features. In addition, PHP 7 enabled static analysis tools that coupled with type declarations enable us to significantly remove bugs in our code before we even run it! In this talk, I will review PHP's strict type system, including the new PHP 7.4 features and show how they can make our code safer and clearer and easier to reason about. We will then turn our attention to the available static analysis tools and look at how, with strict typing, we can eliminate whole classes of bugs and make our applications better. By the end of this session, you will be well placed to write better PHP code that has fewer bugs and works as you expect every time.

Strict typing and static analysisPresented at PHPSW, January 2020

PHP 7 introduced type declarations and so brought PHP into the world of strict typing. Each subsequent release in the 7 series has improved this and PHP 7.4 is no different with exciting new type features. In addition, PHP 7 enabled static analysis tools that coupled with type declarations enable us to significantly remove bugs in our code before we even run it! In this talk, I will review PHP's strict type system, including the new PHP 7.4 features and show how they can make our code safer and clearer and easier to reason about. We will then turn our attention to the available static analysis tools and look at how, with strict typing, we can eliminate whole classes of bugs and make our applications better. By the end of this session, you will be well placed to write better PHP code that has fewer bugs and works as you expect every time.

The Serverless ApplicationPresented at DevFest Cardiff, November 2019

Serverless platforms are suited to a wide range of applications from IoT & chatbots through to microservices and web hooks. In this session, I’ll introduce you to how serverless applications work and embrace cloud services to live in a world where there are many separate parts that make up the application. I'll cover the architectural patterns we use to design a serverless application including handling their stateless nature, how to use multiple functions for a task and leveraging event processing to trigger further functions. I will then turning my attention to showing you how to put these into practice by looking at how they can be implemented in an Lambda or Apache OpenWhisk.

By the end of the session, you'll understand how serverless applications work and you'll want to start building your own!

Capturing LightPresented at OggCamp, October 2019

A 25 minute introduction to photography's exposure triangle. We looked at aperture, shutter speed and ISO and discussed how they interact so that you can can take the photo that you see in your mind's eye.

Building with Slim 4Presented at BrumPHP, October 2019

With support for a host of PSR standards, Slim 4 is a PHP micro framework that enables you to write powerful web applications and APIs that embrace the wider PHP ecosystem and in this talk, I will show how. It takes advantage of many of the FIG group's PSR standards to allow easy interoperability with a large ecosystem of components. We will look at how Slim's middleware system leverages the PSR-15 middleware and request handlers to create easily understandable and flexible applications. We will cover application setup, routing and the relationship between actions and middleware. Dependency injection is very useful in a modern PHP application and we'll look at how to integrate any PSR-11 container with Slim ensuring you can decouple your dependencies. By the end of the session, you will be equipped to use the new Slim 4 to create web applications yourself.

The making of a great APIPresented at Dutch PHP Conference, June 2019

Everyone is writing APIs but what makes a great one? I will take you on a tour of the most important features that you should think about when creating an API. These ensure that your API plays well with HTTP and make your API a delight to maintain and work with. Give your API a competitive edge by making it great and developers will want to work with it.

Building Serverless PHP applicationsPresented at Dutch PHP Conference, June 2019

Serverless systems allow us to concentrate solely on our code and let the provider deal with infrastructure. In this tutorial we will build a serverless PHP application and deploy to the cloud. I'll cover how to design, build and deploy for serverless platforms, and how to use an API gateway to turn incoming HTTP requests into events that trigger those serverless functions.

Over the course of our time together, we'll build a small, complete serverless microservice that showcases the key features of a serverless application.By the end of the tutorial, you'll be well placed to design and build your own serverless applications that are more than mere curiosities.