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

Easy File Encryption

I’ve read in two different books that the streams extension of PHP is one of the most useful but least utilised parts of the language. I’ve always paid lip service to that idea but something I saw the other day really bought this home to me and I thought I’d write about it here. I’m […]

ConFoo Round-Up

I’ve just got home from attending the ConFoo conference in Montreal and I thought I’d write up a few of my thoughts about the conference. All of the talks I heard were good but some stood out more than others for me. I’ll discuss each day in turn along with a few of the highlights […]

Some More PDO Weirdness

I’ve said before that I’m a great fan of PDO and use it wherever possible. That said there are some annoying quirks in it, one of which I encountered today. I’ll outline what I was trying to do, what I expected to happen and what actually happened. I’m also curious as to what anyone else […]