چرا در validatorها از یک کلاس دوتا آبجکت ساخته شد؟

پرسیده شده
فعالیت 934 روز پیش
دیده شده 476 بار
0

سلام و عرض ادب

class CouponAtive
{
    private Coupon $coupon;

    public function __construct(Coupon $coupon)
    {
        $this->coupon = $coupon;
    }

چرا تو این کد از یه کلاس دوجا آبجکت ساخته شد؟

هم:

 public function __construct(Coupon $coupon)

و هم:

private Coupon $coupon;
فایل پیوست

1
حذف شده

سلام و احترام

یه مورد هستش که اینو باید اول درک کنیم، زمانی که ما به این شکل داریم نوع ورودی کلاس رو مشخص میکنیم

 public function __construct(Coupon $coupon)

در اصل داریم میگیم که یک آبجکت از نوع Coupon به عنوان ورودی ارسال بشه

و دقیقا همین مورد هم برای این property هم هستش

private Coupon $coupon;

اینجا هم داریم میگیم که این پراپرتی باید از نوع Coupon رو داخل خودش داشته باشه، و ما دو تا آبجکت نمیسازیم و همون آبجکتی که از construct دریافت کردیم رو میریزیم داخل همون پراپرتی که گفتیم باید از همین نوع باشه

اگه ابهامی بود حتما مطرح کنید

 

میتونید درباره type declaration اینجا https://www.php.net/manual/en/language.types.declarations.php بخونید

 

فایل پیوست

امیر صالحی

توسط

امیر صالحی

13 مهر 00