說我有這個類哪個孫子打電話給我?
class Grandpa
{
public function call(){
// Well, I want to know who calls me here
}
}
class Father extends Grandpa
{
}
class GrandsonOne extends Father
{
}
class GrandsonTwo extends Father
{
}
現在,我調用函數從孫子類,像這樣:
GrandsonOne::call();
GrandsonTwo::call();
我怎樣才能找出誰叫什麼名字?
我認爲你的GradsonOne clss必須延伸到Father/Grandp。 –
當你打電話給別人時,你不會讓他們猜測誰在打電話嗎?你告訴他們。 – vascowhite
這是構建PHP ORM時不得不面對的一大難題。我認爲這個功能是在路線圖上,所以現在可能它已經存在,但是當時我只需要把它吸了起來,併爲父方法添加一個「$ subclass」參數,然後在子節點上覆蓋它。這很糟糕,但它是當時唯一的選擇... – Matchu