Trait je mechanismus pro opakované použití kódu ve více třídách, které spolu nesouvisejí dědičností. Jelikož PHP umožňuje pouze jednoduchou dědičnost, traity poskytují způsob, jak sdílet metody (a vlastnosti) horizontálně — formu "kompoziční" opětovné použití kódu, podobně jako mixiny.
Problém, který traity řeší
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.
