OOP - Traits
🔹 Trait چیست؟
-
در PHP، کلاسها فقط میتونن از یک کلاس والد ارثبری کنن (Single Inheritance).
-
برای حل این محدودیت، Traits معرفی شدن.
-
Trait به شما اجازه میده مجموعهای از متدها رو تعریف کنید و اونها رو در چند کلاس مختلف استفاده کنید.
🔹 تعریف یک Trait
📌 یک Trait شبیه کلاس تعریف میشه، اما به جای class
از trait
استفاده میکنیم.
🔹 استفاده از Trait در کلاس
📌 خروجی:
🔹 استفاده از چندین Trait
📌 خروجی:
🔹 Override کردن متد Trait در کلاس
اگر متدی در کلاس تعریف بشه که همنام با متد Trait هست، متد کلاس اولویت بیشتری داره:
📌 خروجی:
🔹 استفاده از insteadof
و as
وقتی چند Trait متد همنام داشته باشن، میتونیم مشخص کنیم کدوم استفاده بشه:
✅ خلاصه
-
Traits راهی برای استفادهی چندباره از متدها در کلاسهای مختلف هستند.
-
یک کلاس میتونه چندین Trait داشته باشه.
-
متدهای کلاس روی متدهای Trait اولویت دارند.
-
میشه با
insteadof
وas
مدیریت کرد که کدوم متد استفاده بشه.