Trait एक तंत्र है जो कई वर्गों में कोड का पुनः उपयोग करता है जो विरासत द्वारा संबंधित नहीं हैं। चूंकि PHP केवल एकल विरासत की अनुमति देता है, traits विधियों (और गुणों) को क्षैतिज रूप से साझा करने का एक तरीका प्रदान करते हैं — एक प्रकार का "संरचनात्मक" कोड पुनः उपयोग, mixins की तरह।
समस्या जिसे 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.
