我只有類字符串不是對象。至new
新對象可能不是最好的解決方案。如何知道一個類是否從PHP中的另一個類繼承而來?
-2
A
回答
2
class_parents()函數將返回一個數組,其中包含繼承樹中所有類的名稱,並將通過傳遞類名稱或實例來工作。
然後,您可以簡單地從功能is_subclass_of
可以操作的PHP中使用兩個字符串作爲參數返回數組
1
檢查結果。你不需要實例化任何對象來測試它,或者使用Reflection,這是一個相當昂貴的操作(正如接受的重複答案中所建議的那樣)。
class foo {}
class bar extends foo {}
is_subclass_of('bar', 'foo'); // true
這也可以測試一個類是否實現接口。
相關問題
- 1. 如何知道一個類是否從另一個類繼承?一些方法,如is_a?
- 2. 如何知道哪些類從Visual Studio 2010中的另一個類繼承?
- 3. 如何從另一個繼承類的繼承類的說話
- 4. 如何從另一個類(不繼承)
- 5. 如何知道一個類的繼承行是紅寶石
- 6. 檢查一個類是否間接繼承了另一個類的類
- 7. 如何知道類是從類還是接口繼承的?
- 8. 引用從另一個類繼承
- 9. 從另一個類的另一個屬性繼承css屬性
- 10. 如何讓S4類從另一個S4類正確繼承?
- 11. 如何知道類型是否繼承了其他類型?
- 12. 檢查一個對象是否從一個類型繼承
- 13. 如何判斷一個類是否來自另一個類
- 14. 如何檢查一個Javascript類是否繼承另一個(不創建obj)?
- 15. 如何知道類A是否直接從C#中的類B繼承?
- 16. JavaScript繼承。從另一個類繼承的對象和方法
- 17. 如何檢查一個類是否繼承另一個類而不實例化它?
- 18. 是否有可能讓一個匿名類繼承另一個類?
- 19. 在Xcode中繼承一個類到另一個類
- 20. 如何轉發聲明一個C++類從另一個類繼承?
- 21. 是否有可能擁有2個基類已經從繼承或知道第三個普通類繼承?
- 22. 如何從另一個繼承的類在C#中調用一個方法
- 23. PHP - 類繼承和與另一個類的組合
- 24. AS3 - 我可以知道一個類是否實現了一個接口(或者是另一個類的子類)?
- 25. 你如何調用從另一個類繼承的方法?
- 26. 從另一個基類的多個繼承和通用訪問一個基類
- 27. 修改一個類來封裝而不是繼承
- 28. 從另一個類繼承的類具有通用的constrainst?
- 29. 我可以從一個類繼承到另一個CSS
- 30. VB.Net:類繼承使一個類另一個
也許這有幫助嗎? http://php.net/manual/de/reflectionclass.issubclassof.php –