Ich frage mich, ob es möglich ist, die Vererbung einer Klasse auf eine statische Weise zu überprüfen.PHP überprüfen Vererbung auf eine statische Weise
In Fällen, bekomme ich nur einen Klassennamen mit seinem Namespace ich tun kann:
$oObject = new $sClassName();
if(is_a($oObject, $sParentClassName)) { return true; }
Aber hier ist es zwingend erforderlich, eine Instanz dieser Klasse zu haben.
Die einzige statische Überprüfung ich bisher gefunden habe, ist die folgende:
if(method_exists($sClassName, $sMethodNameFromParent)) { return true; }
Aber nur für eine Methode Überprüfung ist nicht gut, weil ich nicht sicher sein kann, ob die betreffende Klasse aus, dass geerbt bestimmter Elternteil, irgendein anderer Elternteil oder implementiert es alles von selbst.
Gibt es eine Möglichkeit, die Vererbung in einer statischen Weise zu überprüfen? Vielen Dank im Voraus!
http://php.net/manual/en/reflectionclass hat. getparentclass.php? – xmike
Warum brauchen Sie das? – axiac
@xmike: also schlagen Sie vor, eine while-Schleife zu verwenden, um alle Eltern zu durchlaufen, bis ich den gesuchten finde oder die Wurzel erreiche? – Akerus