Re: Decorators Revisited

From: Date: Tue, 14 Aug 2012 19:58:35 +0000
Subject: Re: Decorators Revisited
References: 1 2 3 4  Groups: php.internals 
Request: Send a blank email to internals+get-62159@lists.php.net to get a copy of this message
Hi! > Simply because your object responds to all the same methods of, for > example, the FooInterface, does not make it a FooInterface subtype. It > just means that in the "duck typing" sense of the phrase, it can act > like a FooInterface for people that are not necessarily concerned that > it's actually not is_a() FooInterface. Excellent point here. I have a feeling that with these proposals people want to eat a cake and have it too. To have strictly defined typing structure enforced by strict parameter checks, instanceof checks, etc. and at the same time have the freedom of duck typing. I don't think it's going to work well - if you want duck typing, that's one thing, if you want class hierarchy, that's another thing. Both are viable models for different cases, but I don't see how they can work using the same operators and language constructs. They should be distinct. Now, we could probably make duck typing a bit easier by allowing to check if specific object can respond to specific interface. But I'm not sure if it's worth the effort - why not just have it implement the interface then? In any case, I think duck typing improvement may be a good place for proposals, but let's not confuse it with inheritance hierarchy. -- Stanislav Malyshev, Software Architect SugarCRM: http://www.sugarcrm.com/ (408)454-6900 ext. 227

« previous php.internals (#62159) next »