想我打電話與parent::__construct();
父類的子類我的我。怎麼可以檢測父類是否已被調用,子類的父類檢測子類是否有一個叫父類
回答
我不知道如果我明白你的問題,但我的建議是設置一個靜態變量的true
,在我的情況$CHILD
,在兒童類然後在父類使用get_called_class
然後測試上述靜態變量。
class Base {
public function __construct() {
$child = get_called_class();
if($child::$CHILD)
{
echo "Parent has being called";
}
}
}
class Child extends Base {
public static $CHILD = true;
public function __constructor()
{
parent::__constructor();
}
}
$child = new Child();
另一種方法是使用debug_backtrace作爲@icecub建議
這回答了這個問題,但它是非常嚴酷的代碼/設計。基礎班不應該關心自己是否延期或延期。你確定你想鼓勵像這樣的練習嗎?更好的方法是從OP中挑出更多的東西,這樣我們就能理解他們爲什麼認爲他們有這個要求。在此基礎上下調。 –
爲什麼或者什麼人問我想要做的答案與我無關,也不應該是你的。這是問答論壇,而不是tuturial網站。順便說一句,這個人問我似乎並不是一個新手。下次只需回答問題,然後提供建議。 @AdamCameron – KBJ
沒有必要得到snippy傢伙。我認爲OP def *是一個OO熟練工,如果他們問這樣一個問題。也許不是,但這就是它看起來如此*的問題。有時候 - 通常甚至當有人提出問題時,他們並不是在問他們想問的問題,而是需要一些努力來澄清這一點。最終,我們在這裏*幫助人們*,而不是盲目地「回答問題,因爲它是一個問答網站」,並且有時幫助他們有時意味着來回頭一次。 –
- 1. 父類可以檢查子類是否有這樣的字段?
- 2. 檢測類別是否是父類 - 在wordpress模板category.php
- 3. 檢查父類別是否有父類別?
- 4. 檢查類別是否具有父項
- 5. 檢查一個父類是否有一個類,如果是這樣應用樣式到這個父
- 6. 測試一個類是否是另一個共同類lisp的子類
- 7. 父類是否應引用子類?
- 8. jQuery溢出:隱藏在父類中,檢測子類是否實際上可見
- 9. 測試一個類是否有屬性?
- 10. jQuery - 你可以檢查一個類是否有另一個類?
- 11. 檢測子div是否比父母寬?
- 12. 子類是否具有父類的所有屬性和方法?
- 13. 如何檢測一個類是否有移動構造函數?
- 14. 如何檢測一個類型是否是std :: tuple或不是?
- 15. 是否有可能檢測到Java中是否有類可用?
- 16. 檢查$(this)是否有一個父類有一個類或指定的數組ID
- 17. jQuery toggleClass父類當子類有一個類
- 18. 找出一個類是否是另一個類的一個子類(Objective-C)
- 19. XPath的PHP - 檢查是否在父類
- 20. 檢查一個類是否具有關聯的基元類型
- 21. 如何確定一個類是否是其他類的子類?
- 22. 如何快速測試TypeMirror是否是另一個子類型
- 23. 檢查父div有子類div
- 24. 檢查類有另一個類,並添加類到下一子
- 25. 檢測是否變量是sympy類型
- 26. 一個子類是否在Objective-C中繼承其父類的協議?
- 27. 檢查是否有類「paged-」
- 28. 是否有可能有一個非模板類子類的模板類?
- 29. 遍歷DOM樹並檢查是否有父類有
- 30. 如何檢查一個類是否定義了一個const(特徵檢測)
一個'私人static'僅從父「的構造函數訪問的變量?它不會被訪問或重寫,因爲它是'私人' –
我想你想看看[debug_backtrace](http://php.net/debug_backtrace)。 Afaik是「檢測」函數/方法調用來自何處的唯一方法。 – icecub
如果你解釋爲什麼你需要這樣做,這可能會有所幫助。沒有解釋,這聽起來有點像你的建模可能有點關閉,如果你需要這樣做,但肯定有一個很好的理由。 –