الـ trait هي آلية لـ إعادة استخدام الكود عبر عدة classes غير مرتبطة بالوراثة. بما أن PHP تسمح فقط بالوراثة الفردية، فإن الـ traits توفر طريقة لمشاركة الـ methods (والـ properties) بشكل أفقي — وهي شكل من أشكال إعادة استخدام الكود "التركيبي"، مثل الـ 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.
