سلام
در واقع Trait برای به اشتراکگذاری بین کلاسهاست، و شما میتونید متدهای Private و Protected هم تعریف کنید، انگار همین متدهارو روی کلاسهایی که از این Trait استفاده میکنن نوشتید.
https://www.php.net/manual/en/language.oop5.traits.php
ما در PHP وراثت چند گانه نداریم
یعنی یه کلاس نمیتونه از چند کلاس ارث بری کنه
برای همین Trait ها رو داریم
اما متدهایی که داخل تریت ها تعریف میشند
از قوانین Encapsulation در شی گرایی PHP پیروی میکنند
پس متدها یا پراپرتی های protected و private به همون شکلی که در وراثت استفاده میشند، میتونند استفاده بشند
شاید پاسخ شما همینجا باشد
@ali.bayat
من از فرمایش شما به این نتیجه رسیدم صرفا فقط از قوانین encapsulation پیروی می کنند ، پس فرقی نمیکنه که protected یا private یا public باشن ؟