Trait (savybė) yra mechanizmas kodui pakartotinai naudoti keliose klasėse, kurios nėra susijusios paveldėjimu. Kadangi PHP leidžia tik viengubą paveldėjimą, traits suteikia būdą bendrai naudoti metodus (ir savybes) horizontaliai — tai yra "komponuojamas" kodų pakartotinio naudojimo būdas, panašus į mixins.
Problema, kurią sprendžia traits
PHP has single inheritance — a class can extend only ONE parent. But you often want
to share the SAME methods across unrelated classes (e.g. logging, timestamps).
Duplicating the code is bad; traits let you reuse it without inheritance.
