Вот и traits попали в транк PHP.
Данная возможность была придумана как альтернатива множественному наследованию и mixin-ам. trait представляет собой набор PHP-кода (обычно это методы), который можно использовать в своём классе. Фактически trait — поддерживаемый на уровне языка умный copy-paste.
trait Dumper { public function dump($var){ echo '<pre>'.print_r($var, true).'</pre>'; } } class MyClass { use Dumper; } $myClass = new MyClass(); $myClass->dump('test');
MyClass в итоге будет выглядеть как:
class MyClass { public function dump($var){ echo '<pre>'.print_r($var, true).'</pre>'; } }
Это самый простой случай. Более сложные и интересные вещи, такие как подмена имени метода при подключении, разрешение конфликтов, trait-ы из trait-ов, требования к классу, описаны на английском в wiki.