Pragmatism in the real world

Creating modelsPresented at OSCON, July 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.

Creating modelsPresented at DPC, June 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.

Introduction to ApigilityPresented at PHPNE, March 2014

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.

Introducing Dependency InjectionPresented at ZendCon Europe, November 2013

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.

Zend Framework 2 tutorialPresented at ZendCon Europe, November 2013

This half-day tutorial with Evan Coury introduced ZF2's MVC including the foundation concepts of service manager and event manager. We also looked at routing, bootstrapping, controllers and views.

Introduction to ZF2Presented at De Montfort University, November 2013

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.

Introducing Dependency InjectionPresented at PHPNW, October 2013

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.

Introducing Dependency InjectionPresented at PHPEM user group, September 2013

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.

Introduction to ZF2Presented at NomadPHP, May 2013

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.

Debugging for beginnersPresented at php|tek, May 2013

The talk introduced the lifecycle of the debugging processed, covering reproduction of the error, diagnosing the problem, fixing the bug and finally reflecting on how the bug was introduced in the first place. We also looked at ensuring that our PHP environment was set up correctly, how to use var_dump() and xdebug to find and fix problems.