Trait مفهومی جدید در PHP نگارش 5.4 و جدیدتر است. این مفهوم برای جایگزینی ارث بری چندگانه که در php موجود نیست ایجاد شده است.
در زبانهایی که از ارثبری چندگانه پشتیبانی میشود، میتوان هنگام تعریف یک کلاس جدید، یک یا چند کلاس را به عنوان والد معرفی کرد ولی در زبانی مانند PHP با ارثبری یگانه، ارثبری تنها از یک کلاس امکان پذیر است.
مفهوم Trait چیزی شبیه یک کلاس است با این تفاوت که نمیتواند نمونهسازی شود و تنها برای اضافه کردن قطعه کد به دیگر کلاسها استفاده میشود.
یک Trait میتواند حاوی چندین تابع باشد. درج یک Trait در یک کلاس تمامی توابع آن را به کلاس خواهد افزود.
این کار از تکرار کد جلوگیری میکند و میتواند باعث افزایش کارایی نرمافزار و سرعت توسعهی آن شود