Quote Originally Posted by datune
But as you can see, when DESIGNING an INTERFACE, there is no need to think about WHAT a certain method might return and what not, or whether it should return false or null.
I like to think that the returntype is part of a methods signature - Even if php, being loosly typed, doesn't explicitly state a returntype. Furthermore, I'd say that any exceptions a method might throw is too part of the signature. If you have a look at a strongly typed language such as java, you'll notice that methods of classes aswell as interfaces state which exceptions they might throw.