News Feed
Jobs Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

The Coders Lexicon:
My Love / Hate Relationship With PHP Traits
February 11, 2013 @ 12:50:45

On the Coder's Lexicon site, there's a recent post talking about the author's love/hate relationship with PHP traits, a relatively new feature of the language that apps for more "drop-in" functionality similar to mixins in other languages.

When I saw the introduction of PHP traits in 5.4.0 I was eager to learn all about them and how they worked. [...] PHP traits, in my opinion, are handy and very flexible. I guess that is the "love" part of my relationship with them. [...] However, I feel that traits also meddle with a bit of the inheritance rules that have been proven time and time again. Is it possible to love as well as hate something at the same time?

He talks first about "the love" he feels for using traits in his code. He talks about their usefulness for geting around PHP's single inheritance structure and being able to "bolt on" functionality as needed. Then comes "the hate" of them, noting that in the wrong hands, they could lead to very messy and lazy coding practices (including the deadly diamond of death problem).

0 comments voice your opinion now!
love hate traits good bad example mixin opinion


blog comments powered by Disqus

Similar Posts

Mike Potter\'s Blog: PHP Gallery Integration with Flex - With Source Code

Chris Hartjes' Blog: Simple User Registration in CakePHP 1.2

PHPMaster.com: Working with Files in PHP

International PHP Magazine: Poll Question: Which PHP Script Manages FAQs Effectively?

Samuel Folkes' Blog: 17 PHP Practices That Should Be Banished Forever


Community Events











Don't see your event here?
Let us know!


application release symfony2 hhvm performance facebook podcast hack language introduction composer framework component install security database opinion series unittest package

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework