Bir trait, birden fazla sınıf arasında kodu yeniden kullanmak için bir mekanizmadır ve bu sınıflar kalıtım yoluyla ilişkili değildir. PHP yalnızca tek kalıtıma izin verdiğinden, trait'ler yatay olarak metotları (ve özellikleri) paylaşmanın bir yolunu sağlar — mixin'lere benzer bir "bileşimsel" kod yeniden kullanım biçimidir.
Trait'lerin çözdüğü sorun
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.
