En trait er en mekanisme for å gjenbruke kode på tvers av flere klasser som ikke er relatert gjennom arv. Siden PHP bare tillater enkel arv, gir traits en måte å dele metoder (og egenskaper) horisontalt — en form for «komposisjonell» kodegjenbruk, som mixins.
Problemet traits løser
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.
