Re: insteadof considered harmful

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Apr 9, 2012, at 7:15 AM, Szczepan Hołyszewski wrote:

> 
> I must admit with embarrassment that after months of googling and posting 
> questions to various forums I still fail to understand the purpose of the 
> "insteadof" keyword and the insteadof clause.
> 
> As I currently see it, the whole insteadof clause is completely redundant. In 
> a clause like this:
> 
> Foo::tweak insteadof Bar;
> 
> the "insteadof Bar" part does not specify any information that is not already 
> unambiguously specified by the "Foo::tweak" part. "Foo::tweak;" already 
> conveys the intention of using tweak from the trait Foo instead of any other 
> trait that has a member named tweak. What if we are using seven such traits? 
> Do we have to list them all after insteadof? Why do we have to explicitly 
> enumerate things that we DON'T want to use?
> 
> I would like to see a small code example where the insteadof clause provides  
> information that is BOTH necessary to make the program unambiguous AND cannot 
> be conveyed with the simple "Foo::tweak;" syntax. Absent such example, I 
> consider "insteadof" harmful because it does nothing and adds a maintenance 
> chore. It should be made optional and deprecated ASAP, and removed at some 
> point in the future.

See http://us.php.net/manual/en/language.oop5.traits.php and scroll down to conflict resolution
to see simple example. It is used to resolve method naming conflicts when multiple traits are used to emulate multiple inheritance.

Tom


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux