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

Christian Stocker's Blog: Upload Progress Meter extension 0.9.2 released

Luc de Brouwer's Blog: Stop waiting, start array dereferencing in PHP now!

Jani Hartikainen's Blog: Closures coming in PHP 5.3 and thatís a Good Thing

Tom Barrett's Blog: WordPress is more than a CMS, it is a PHP Framework

Reddit.com: An interesting negative take on Dependency Injection


Community Events

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


library laravel5 laravel extension interview release introduction voicesoftheelephpant unittest example opinion community install framework series language api podcast php7 xdebug

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