At 09:30 21/08/2002, Ben Dischinger wrote: >You don't quite get the same functionality from extending a class as you >would from implementing an interface. If I'm extending temperature what >keeps me as a user from not overriding any of those functions? Or what if I >want to extend a different class but still define my class as having those >functions found in temperature? Having interfaces is a nice way to skirt >the issue of not having multiple inheritance built into the language.
Interfaces, IMHO, simply do not fit the spirit of PHP. PHP is extremely loose about what it 'demands' from the programmer. You don't have types, you don't have to declare variables. But suddenly, we would have a construct that 'requires' you to implement certain functions? Ok fine, so you would have to implement a certain set of functions, but given the loose typing, what does that buy you anyway? You can't force him to return what you expect, or even deal with the arguments you send him according to their intended type. I don't see interfaces as something which makes too much sense in the context of PHP, and considering the added complexity of adding such a new feature, I'm against it. Typically, the argument is between single inheritance with interfaces, and multiple inheritance. We went for a multiple-inheritancish approach with delegation, and I don't think we should overcomplicate it with interfaces. Zeev -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php