Een trait is een mechanisme voor code-hergebruik tussen meerdere klassen die niet gerelateerd zijn door erfenis. Omdat PHP alleen enkele erfenis toestaat, bieden traits een manier om methoden (en eigenschappen) horizontaal te delen — een vorm van "compositorische" code-hergebruik, zoals mixins.
Het probleem dat traits oplossen
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.
