روز برنامه‌نویس مبارک 🤩🎉 از هدایای روز برنامه‌نویس جا نمونی ⌛
۰ ثانیه
۰ دقیقه
۰ ساعت
۰ پویا پارسایی
نکته Conflict Resolution
جامعه پی اچ پی ایجاد شده در ۱۸ شهریور ۱۴۰۰

سلام و عرض ادب

در دقیقه 52 که استاد در مورد coflict resolution توضیح میدن، به اشتباه کیورد insteadof رو instanceof فرمودن و فکر میکنم در ادامه همین باعث شد که موضوع رو اشتباه توضیح بدن.

به کد زیر دقت کنید:

<?php
trait Game
{
    function play() {
        echo "Playing a game";
    }
}
trait Music
{
    function play() {
        echo "Playing music";
    }
}
class Player
{
    use Game, Music {
        Music::play insteadof Game;
    }
}
$player = new Player();
$player->play(); //Playing music

اینجا trait Music و trait Game دوتا متد همنام دارن. وقتی که تو کلاس Player این دوتا  use شده، برای جلوگیری از کانفلیکت از این کد استفاده شده:

Music::play insteadof Game;

یعنی به جای متد playی که در trait Game هست،متد play که در trait Music هست رو اجرا کن.

insteadof اینجا به معنی عبارت : "به جای" به کار رفته.

 

این نکته رو عرض کردم که اگه کسی از دوستان متوجه موضوع نشده، مشکلش حل شه، وگرنه شکی در تسلط و دانش استاد آوند نیست.