💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ امیر ساسانی
دلیل استفاده نکردن از resolve
مهرداد سامی حل شده توسط مهرداد سامی

سلام استاد

وقتتون بخیر

در جلسات قبل فرمودین که بهتره کلاس‌هایی که خودمون نوشتیم رو از resolve استفاده کنیم، اما در این جلسه از resolve استفاده نکردید، میشه بپرسم دلیل استفاده کردن/نکردن از resolve دقیقا چه چیزی هست؟

سلام ... 

در اکثر مواقعی که میخواید از سرویس‌های خودتون نمونه بسازید خوبه که از resolve استفاده کنید تا خود لاراول اون نمونه رو براتون بسازه ... یک سری جاها که میدونید همیشه از یک کلاس فقط یک نوع دارید میتونید از new استفاده کنید مثل mailbale‌ها .. یا job‌ها .. و زمانی که مثلا از یک نوع mailbale ۲ نوع داشتید باید از resolve استفاده بشه .. اگه بخوام مثال بزنم در این مورد مثلا فرض کنید شما ۲ کلاس Mailable برای فراموشی رمز عبور دارید که نحوه پیاده سازیشون با همدیگه فرق میکنه ... شما از یکی از کلاس‌ها مثلا در ۵ جای سیستم با استفاده از کلاس new نمونه ساختید و دارید ازش استفاده میکنید ولی بعد از چند وقت تصمیم میگیرید به جای این کلاس از اون یکی کلاس فراموشی رمز عبور استفاده کنید .. در این حالت مجبورید برید و هر ۵ نقطه اسم کلاس رو تغییر بدید و از کلاس جدید new بسازید ... که خب کار درستی نیستش ... به جای این شما میتونید از کلید resolve استفاده کنید به جای new و داخل service provider تعریف کنید که مثلا زمانی که من گفتم کلاس ForgetPassword یک نمونه کلاس مثلا App/Mail/ForgetPassword2 رو به من بده و دیگه نیاز نیست ۵ نقطه رو تغییر بدید ... 

این مبحث مربوط به container لاراول هستش که جلوتر راجع بهش بحث خواهیم کرد و آموزشی هم در مورد همین مبحث resolve تهیه خواهد شد تا بهتر متوجه موضوع بشید . 

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