Continuous Deployment with Symfony2, Jenkins and Capifony

It seems that many people talk about setting up a continuous deployment system but few actually take the plunge and make it a reality. I’ve recently set up continuous deployment for an API project at work and thought I would blog about how I got it all to work. The Plan This project is relatively […]

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 […]

Normalising DateTimes with Doctrine Events

Two of the biggest pains in development for me are character encoding and working with date time information. The former continually bites me when I least expect it, although making sure everything in a project is UTF-8 encoded seems to go a long way to mitigating this problem. Working with date time information is also […]

Implementing IteratorAggregate and Iterator

After a bit of a break I’m finally able to get back to writing about the predefined interfaces in PHP. PHP provides two interfaces that allow you to define how your objects behave in a foreach loop: IteratorAggregate and Iterator. Before taking a look at IteratorAggregate I’ll briefly discuss how we can iterate over objects […]

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 […]

Using SalesNet Web Services from PHP

I’ve been working on some projects recently where I’ve had to make heavy use of the SalesNet CRM API. I’ve written some code that makes basic access of the API easier and I thought I would write about it a little here. The SalesNet API is vast in scope (the documentation runs to 144 pages!) […]

Zend_Form and Validating Values for Multiple Column DB Keys

I’ve recently started developing my first project fully in Zend Framework and I’ve been loving it so far. There are so many components in the framework that make a developers life easier, among which is the combination of Zend_Filter, Zend_Validate and Zend_Form. I love how easy it is to create and validate forms using these […]

Guelph PHP Users Group

Colin DeCarlo and I have been working on a PHP users group for South Western Ontario for a while and we’re pleased to announce the first meeting of the Guelph PHP Users Group. The group will be meeting on the last Wednesday of every month, starting on September 28th, at the offices of Well.ca at […]