🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ پویا پارسایی
چرا از کیورد new استفاده کردیم؟
جامعه لاراول ایجاد شده در ۳۱ اردیبهشت ۱۴۰۱

سلام و عرض ادب

توی جلسه قبلی فرمودید نباید از کیورد new توی برنامه لاراولی‌مون استفاده کنیم. و به جاش باید از resolve استفاده کنیم. ولی وقتی میخواستیم کلاس TopicCreated رو به عنوان آرگومان دوم به متد sendEmail پاس بدیم، ازش new گرفتیم:

$notification = resolve(Notification::class);
$notification->sendEmail(User::find(1), new TopicCreated); <= manzooram injast

دلیلش چیه؟

سلام دوست عزیز

تاپیک شما رو برای استاد ارسال کردم و ایشون در اولین فرصت پاسخ شما رو خواهند داد

موفق باشید ?

محمد گازری ۰۱ خرداد ۱۴۰۱، ۱۵:۴۶

سلام ...

ممنون از دقت نظرتون.

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

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

ممنون.

بهترین پاسخ
مهرداد سامی ۱۳ خرداد ۱۴۰۱، ۱۲:۴۰