Вот и 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.