is_subclass_of

(PHP 4 , PHP 5)

is_subclass_of -- Détermine si un objet est une sous-classe

Description

bool is_subclass_of ( mixed object, string class_name )

is_subclass_of() retourne TRUE si l'objet object est une sous-classe de class_name, FALSE sinon.

Note : Depuis PHP 5.0.3, vous devez également spécifier le paramètre object en tant que chaîne de caractères (le nom de la classe).

Exemple 1. Exemple avec is_subclass_of()

<?php
// définition d'une classe
class WidgetFactory
{
  var
$oink = 'moo';
}

// définition d'une sous-classe
class WidgetFactory_Child extends WidgetFactory
{
  var
$oink = 'oink';
}

// création d'un nouvel objet
$WF = new WidgetFactory();
$WFC = new WidgetFactory_Child();

if (
is_subclass_of($WFC, 'WidgetFactory')) {
  echo
"oui, \$WFC est une sous-classe de la classe WidgetFactory\n";
} else {
  echo
"non, \$WFC n'est pas une sous-classe de la classe WidgetFactory\n";
}

if (
is_subclass_of($WF, 'WidgetFactory')) {
  echo
"oui, \$WF est une sous-classe de la classe WidgetFactory\n";
} else {
  echo
"non, \$WF n'est pas une sous-classe de la classe WidgetFactory\n";
}

// utilisable uniquement depuis PHP 5.0.3
if (is_subclass_of('WidgetFactory_Child', 'WidgetFactory')) {
  echo
"oui, WidgetFactory_Child est une sous-classe de la classe WidgetFactory\n";
} else {
  echo
"non, WidgetFactory_Child n'est pas une sous-classe de la classe WidgetFactory\n";
}
?>

L'exemple ci-dessus va afficher :

oui, $WFC est une sous-classe de la classe WidgetFactory
non, $WF n'est pas une sous-classe de la classe WidgetFactory
oui, WidgetFactory_Child est une sous-classe de la classe WidgetFactory

Voir aussi get_class() et get_parent_class().