سلام دوستان، یه سوالی ذهنمو مشغول کرده میخواستم بدونم به چه شکل هست
اگه ما یه تریتی (trait) درست کنیم مثلا برای اپلود و حذف فایل و دو تا تابع داخلش بنویسیم ،
اگه این تریت رو توی کنترلر اصلی (App\Http\Controllers) ایمپورت کنیم بهتره؟ یا توی همون کنترلری که نیاز به اپلود داره؟ ینی میخوام بدونم این کدها توی کنترلر اصلی باشه بارگذاری داره؟ (منظورم از بارگذاری اینه که چون توی کنترلر اصلی هست هربار نیاز به لود پیدا میکنه؟)
اضافه کردن functionality به کنترلر اصلی برای مواقعی هست که از اون کد زیاد استفاده کنیم..
مثلا Validation و یا Authorization جز مواردی هستند که تقریبا در تمام کنترلر ها ما بهشون نیاز داریم، پس منطقی هست که به شکل Trait موجود باشند..
حالا شما چند تا راه دارید:
یک روش بهتر هم وجود داره که خود فریمورک لاراول و اکثر پکیج های خوب ازش استفاده میکنند:
کلاس UploadHandler رو بسازی و در یک Service Provider بیای و کلاس رو در Service Container با یک کلید bind کنی.. و در کنترلر مورد نظر resolve کنی و استفاده کنی.
@ali.bayat
خیلی خیلی ممنون، توضیحات کاملی بود، لطف کردین
چون کدها در برخی از کنترلرها نیاز هست، به همون شکل تریت استفاده میکنم پس🙏🙏
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟