News 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

Reddit.com: PHP devs -What are your 'must have' tools and apps?

Adam Harvey's Blog: (Unmoderated) manual notes are bad, mmkay?

Lee Blue's Blog: What's The Best PHP Framework?

C7Y: Late Static Binding: a practical example

Wez Furlong: OpenID (and TypeKey) using native OpenSSL functions in PHP


Community Events





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


interview install community package zendserver deployment framework voicesoftheelephpant podcast language symfony series bugfix library laravel introduction release api unittest opinion

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