Einer der wichtigsten Gestaltungsgrundsätze ist die Programmierung auf eine Schnittstelle und nicht auf eine Implementierung. Ist dies überhaupt möglich in php oder jede andere schwach typisierte Sprache.
EDITAR:
Vielleicht habe ich die Frage nicht so deutlich formuliert, wie ich es hätte tun sollen. Ich meine nicht, dass php keine Schnittstellen verwenden kann - das kann es offensichtlich. Ich meine, dass das Designprinzip "Programmiere auf eine Schnittstelle und nicht auf eine Implementierung" in schwach typisierten Sprachen überflüssig wird.