مفهوم Trait در زبان برنامه نویسی PHP

trait in php - مفهوم trait
trait in php - مفهوم trait


یکی از مشکلاتی که در زبان PHP وجود دارد و در زبان های دیگر هم این موضوع وجود دارد عدم ارث بری یک کلاس از چندین کلاس است. یعنی در آن واحد کلاس شما میتواند از یک کلاس ارث بری کند در صورتی که در بعضی از مواقع کلاس شما نیاز دارد از چندین کلاس ارث بری کند. خب این موضوع چه اثری دارد؟ قاعدتا ارث بری متدها از چندین کلاس مختلف برای بهینه نوشتن کد ها مطلوب تر است. مثلا شما یک تکه کد دارید که در چند کلاس نیاز هست که استفاده شود حال در یک کلاس به خصوص از این تکه کد باید استفاده کنید و همچنین از تابع دیگری که در کلاس دیگر نوشته شده است نیز باید استفاده کنید.

خب راه حل چیست؟

در PHP 5.4 یک ویژگی جدید به نام Trait  افزوده شد که دقیقا این مشکل را برای ما حل میکند و در حقیقت کاربرد اصلی اونها از بین بردن محدودیتی بود که کلاس های php  با آن روبه رو بودند و اون محدودیتی بود که در بالا به آن اشاره کردیم. الان با استفاده از فراخوانی یک trait در واقع میتونیم بگیم داریم ازیک کلاس ارت بری کنیم.

به زبان ساده Traits ، یک گروه از متدها است که می خواهید در کلاس دیگری قرار دهید. برای استفاده از آنها کافیست در اول فایل بنویسید trait. به همین سادگی!

فرض کنید یک کلاس User داریم و قرار است از یک سری مجموعه تابع که نقش ها و مجوز های کاربر را بررسی میکنند استفاده کنیم ...

برای خواندن ادامه مقاله بر روی این لینک کلیک کنید.