is_subclass_of

(PHP 4, PHP 5)

is_subclass_of -- Prüft ob ein Objekt von der angegebenen Klasse abstammt

Beschreibung

bool is_subclass_of ( mixed object, string class_name )

Diese Funktion prüft ob das Objekt objekt von der Klasse class_name abstammt.

Parameter Liste

object

Ein Klassenname oder eine Objektinstanz

class_name

Ein Klassenname

Rückgabewerte

Die Funktion liefert TRUE wenn die Klasse des Objekts object eine Unterklasse von class_name ist, sonst FALSE.

ChangeLog

VersionBeschreibung
5.0.3 Als object kann nun auch ein Klassenname anstelle einer Objektinstanz übergeben werden.

Beispiele

Beispiel 1. is_subclass_of() Beispiel

<?php
// Definition einer Klasse
class WidgetFactory
{
  var
$oink = 'moo';
}

// Definition einer Kindklasse
class WidgetFactory_Child extends WidgetFactory
{
  var
$oink = 'oink';
}

// Erzeugung von Objekten
$WF = new WidgetFactory();
$WFC = new WidgetFactory_Child();

if (
is_subclass_of($WFC, 'WidgetFactory')) {
  echo
"Ja, \$WFC ist eine Unterklasse von WidgetFactory\n";
} else {
  echo
"Nein, \$WFC ist keine Unterklasse von WidgetFactory\n";
}


if (
is_subclass_of($WF, 'WidgetFactory')) {
  echo
"Ja, \$WF ist eine Unterklasse von WidgetFactory\n";
} else {
  echo
"Nein, \$WF ist keine Unterklasse von WidgetFactory\n";
}


// ab PHP 5.0.3 funktioniert auch
if (is_subclass_of('WidgetFactory_Child', 'WidgetFactory')) {
  echo
"Ja, WidgetFactory_Child ist eine Unterklasse von WidgetFactory\n";
} else {
  echo
"Nein, WidgetFactory_Child ist keine Unterklasse von WidgetFactory\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Ja, $WFC ist eine Unterklasse von WidgetFactory
Nein, $WF ist keine Unterklasse von WidgetFactory
Ja, WidgetFactory_Child ist eine Unterklasse von WidgetFactory

Siehe auch

get_class()
get_parent_class()
is_a()