In a blog post, Brandon savage examined the use of Abstracts vs Interfaces by PHP developpers.

Developers in PHP have a wide array of useful tools for object oriented development. From a full visibility model to concepts like abstract classes and interfaces, the PHP developer can make use of each tool in its own way and offer up an array of interesting solutions.

A very common topic for PHP developpers, especially if you have some confusion on using object oriented patterns with PHP.

Brandon recommends using interfaces, unless you can’t avoid using an abstract class, which is a very wise choice usually due to the single inheritance limitation of abstracts classes in PHP.