trait არის მექანიზმი კოდის გამოყენებისთვის რამდენიმე კლასში, რომლებიც არ არიან დაკავშირებული მემკვიდრეობით. რადგან PHP ნებას რთავს მხოლოდ ერთ მემკვიდრეობას, trait-ები გთავაზობთ მეთოდების (და თვისებების) ჰორიზონტალურად გაზიარების გზას — "კომპოზიციური" კოდის გამოყენების ფორმა, როგორც mixins.
პრობლემა, რომელსაც trait-ები წყვეტენ
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.
