Ich habe die PHP-Dokumente durchforstet, um herauszufinden, ob es eine Methode gibt, mit der ich zwischen Instanzen einer integrierten Klasse (wie DateTime oder PDO) unterscheiden kann) und benutzerdefinierte Klassen, aber ohne Erfolg.Identifizieren zwischen internen Klassen von PHP und benutzerdefinierten Klassen
Der einzige Ansatz, den ich bisher gefunden habe, ist zu versuchen, eine Schließung an die Instanz zu binden. Wenn Sie dies mit einer integrierten Klasse tun, wird eine Warnung (yuk) angezeigt und eine Null zurückgegeben.
$targetObject = new DateTime();
$closure = function();
$test = @$closure->bindTo($targetObject, get_class($targetObject));
if ($test === false) {
throw new Exception('General failure');
} elseif ($test === null) {
throw new Exception('Unable to bind to internal class');
}
Kennt jemand eine sauberere Herangehensweise an dieses Problem?
Warum möchten Sie das wissen? – akond
Ich möchte wissen, weil ich ein Testprogramm schreibe, das Bindung an das zu testende Objekt verwendet und den Fall der Bindung an das falsche Objekt behandeln möchte –