Pragmatism in the real world

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.

Secure your web application with two-factor authenticationPresented at PHP Hampshire user group, September 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.

Two things about PSR-7Presented at PHPNW user group, August 2015

A lightning talk about PSR-7 where I cover the two things that I think that you need to know about PSR-7.

Introducing Dependency InjectionPresented at SOLIDay Belgrade, May 2015

The Dependency Injection pattern separates the creation of objects and their dependencies and is used in many popular frameworks including Zend Framework, Symfony, Laravel & Silex. This session will look at what Dependency Injection is, why you should use it and the benefits it provides. We will also look at how to use a Dependency Injection Container to improve decoupling and make your projects easier to test and maintain.

Getting started with Slim 3Presented at PHP Berkshire user group, May 2015

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.

A Slim 3 primerPresented at PHPSW user group, May 2015

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 third version of framework and show how you can easily write maintainable applications with it.

Introducing Dependency InjectionPresented at Glasgow PHP user group, April 2015

The Dependency Injection pattern separates the creation of objects and their dependencies and is used in many popular frameworks including Zend Framework, Symfony, Laravel & Silex. This session will look at what Dependency Injection is, why you should use it and the benefits it provides. We will also look at how to use a Dependency Injection Container to improve decoupling and make your projects easier to test and maintain.

Creating modelsPresented at PHP Warwickshire user group, March 2015

How are you supposed to organise your models in an MVC application? What goes where? What is a service class, a mapper or an entity? This talk will look at the components of the model layer and the options you have when creating your models. We’ll look at the different schools of thought in this area and compare and contrast their strengths and weaknesses with an eye to flexibility and testability.

We'll discuss the terminology and also take a look at what a service layer is and see how you use service classes to provide the business logic for your application and hide your persistence code from your controllers. By the end of this session you will be equipped to create excellent, maintainable models in your projects.