Abstract Classes vs. Interfaces
This article was originally published at Planet PHP
on 2 October 2012.
Features of object oriented languages are often use from a purely technical
perspective, without respect to their actual semantics. This is fine as long
as it works for you, but might lead to problems in the long run. In this
article I discuss the semantical differences between abstract classes
and interfaces. I also outline why following the semantics of those
language constructs can lead to better code.