سلام و عرض ادب
class CouponAtive
{
private Coupon $coupon;
public function __construct(Coupon $coupon)
{
$this->coupon = $coupon;
}
چرا تو این کد از یه کلاس دوجا آبجکت ساخته شد؟
هم:
public function __construct(Coupon $coupon)
و هم:
private Coupon $coupon;
سلام و احترام
یه مورد هستش که اینو باید اول درک کنیم، زمانی که ما به این شکل داریم نوع ورودی کلاس رو مشخص میکنیم
public function __construct(Coupon $coupon)
در اصل داریم میگیم که یک آبجکت از نوع Coupon به عنوان ورودی ارسال بشه
و دقیقا همین مورد هم برای این property هم هستش
private Coupon $coupon;
اینجا هم داریم میگیم که این پراپرتی باید از نوع Coupon رو داخل خودش داشته باشه، و ما دو تا آبجکت نمیسازیم و همون آبجکتی که از construct دریافت کردیم رو میریزیم داخل همون پراپرتی که گفتیم باید از همین نوع باشه
اگه ابهامی بود حتما مطرح کنید
میتونید درباره type declaration اینجا https://www.php.net/manual/en/language.types.declarations.php بخونید