Introduction to Varnish

I’ve been meaning to write some posts about Varnish for a long time now. We use it extensively at work as part of our server stack and it’s a piece of software that consistently makes my jaw drop with it’s amazing performance and speed. What I’m hoping to do is to write a series of four […]

A few Vim Tricks

I’m a fairly recent convert to using Vim for development, having started using it last May. Having become somewhat proficient (or so I think) I wouldn’t swap it for any other editor. I recently discovered a few config settings that made my life as a developer a little easier and thought I’d share them here. […]

Turbocharging your Logs

Logging can be a really powerful tool to help you to keep on top of problems in your applications. However all too often this information is lost amongst multiple log files spread out over many different servers. I’ve recently setup and configured a Graylog 2 server at work and thought I’d write about it and […]

Making PHPUnit, Doctrine & MySQL Play Nicely

I’m currently using Doctrine for the first time and really enjoying it so far. One of the pain points for me though has been in getting Doctrine setup with PHPUnit for testing. One of the main Doctrine contributors, Benjamin Beberlei, has written a package called DoctrineExtensions which amongst other things adds a class called DoctrineExtensions\PHPUnit\OrmTestCase […]

Implementing the ArrayAccess Interface

This is the second part of an occasional series looking at practical uses for the PHP SPL and predefined interfaces. The first post in the series looked at implementing the Countable interface, this one will examine the ArrayAccess interface. What is the ArrayAccess Interface? ArrayAccess allows you to treat an object that implements it as […]

Using the Countable Interface

PHP provides a number of predefined interfaces and classes that can really make your life as a developer easier but which are often overlooked. The functionality offered by the Standard PHP Library (SPL) and the predefined interfaces is extremely cool and very powerful but very underutilised. I’ve found myself reaching more and more for these features recently and […]