Forum und email

is_subclass_of

(PHP 4, PHP 5)

is_subclass_of — megviszgálja, hogy egy objektum egy megadott osztálynak egy alosztályához tartozik-e

Leírás

bool is_subclass_of ( mixed $object , string $class_name )

Ez a függvény TRUE-val tér vissza, ha az obj objektum olyan osztálynak egy példánya, amely alosztálya/leszármazottja a class_name nevű osztálynak. Másik esetben FALSE-t ad vissza.

Note: A PHP 5.0.3-as változatától kezdve az object paramétert szövegesen is megadhatod (az osztály nevét).

Example#1 is_subclass_of() példa

<?php
// egy osztály definiálása
class WidgetFactory
{
  var 
$oink 'moo';
}

// származtatott osztály definiálása
class WidgetFactory_Child extends WidgetFactory
{
  var 
$oink 'oink';
}

// példányosítjuk őket
$WF = new WidgetFactory();
$WFC = new WidgetFactory_Child();

if (
is_subclass_of($WFC'WidgetFactory')) {
  echo 
"valóban, a \$WFC a WidgetFactory egy alosztálya\n";
} else {
  echo 
"nem, a \$WFC nem alosztálya a WidgetFactory osztálynak\n";
}

if (
is_subclass_of($WF'WidgetFactory')) {
  echo 
"valóban, a \$WF a WidgetFactory egy alosztálya\n";
} else {
  echo 
"nem, a \$WF nem alosztálya a WidgetFactory osztálynak\n";
}

// Csak a PHP 5.0.3 változattól alkalmazható
if (is_subclass_of('WidgetFactory_Child''WidgetFactory')) {
  echo 
"valóban, a WidgetFactory_Child a WidgetFactory egy alosztálya\n";
} else {
  echo 
"nem, a WidgetFactory_Child nem alosztálya a WidgetFactory osztálynak\n";
}
?>

A fenti példa a következő kimenetet adja:

valóban, a $WFC a WidgetFactory egy alosztálya
nem, a $WF nem alosztálya a WidgetFactory osztálynak
valóban, a WidgetFactory_Child a WidgetFactory egy alosztálya

Lásd még: get_class() és get_parent_class()!