Pragmatism in the real world

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.

Introduction to ApigilityPresented at PHPUK, February 2015

Apigility is a project that allows you to easily create a web service without having to worry about the nitty-gritty details. Which details? Well, Apigility will handle content negotiation, error handling, versioning and authentication for you, allowing you to concentrate on your application.

In this introductory talk we look at what Apigility is and how to create a simple REST API that allows us to view a list of music albums, showing how to start using Apigility and how to publish an API using this tool.

Introduction to ZF2Presented at PHP Conference Argentina, November 2014

Zend Framework 2 has matured nicely over the last 6 months, so this talk looked at how it works! In this talk, I walked through the structure of a ZF 2 application. I covered configuration, service location, modules, events, and the MVC system to provide a clear introduction to the key elements of a Zend Framework 2 application.

Creating modelsPresented at ZendCon, October 2014

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.