7.23 Objektintrospektion

Problem

Sie möchten ein Objekt untersuchen, um zu sehen, welche Methoden und Eigenschaften es hat, damit Sie Code schreiben können, der mit jedem allgemeinen Objekt arbeitet, unabhängig davon, welchen Typ es hat.

Lösung

Nutzen Sie die Reflection-Klassen, um Informationen zu einer Klasse abzufragen.

Einen Kurzüberblick über die Klasse erhalten Sie mit Reflection::export( ):

// Informationen zur Klasse Wagen abfragen.
Reflection::export(new ReflectionClass('Wagen'));

Spezifische Informationen erhalten Sie mit:

$wagen = new ReflectionClass('Wagen');
if ($car->hasMethod('verdeckOeffnen')) {
    // Wagen ist ein Cabrio.
}

Diskussion

Sie müssen nur selten mit Klassen arbeiten, deren Code Sie nicht einsehen können, um sich ihre Definition ...

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.