(PHP 4, PHP 5)
is_subclass_of — Verifica si el objeto tiene esta clase como uno de sus padres
Verifica si el object dado tiene la clase
class_name como uno de sus padres.
object
Un nombre de clase o una instancia de objeto
class_name
El nombre de clase
allow_string
Si se define este parámetro como false, no se permite el uso
del nombre de la clase como object. Esto también previene llamar el autoloader si la clase no existe.
Esta función devuelve TRUE si el objeto object
pertenece a una clase que sea subclase de
class_name, FALSE de lo contrario.
| Versión | Descripción |
|---|---|
| 5.3.9 |
Añadido el parámetro allow_string
|
| 5.0.3 |
Es posible especificar también el parámetro object como una
cadena (el nombre de la clase)
|
Ejemplo #1 Ejemplo de is_subclass_of()
<?php
// definir una clase
class FabricaWidget
{
var $oink = 'moo';
}
// definir una clase hija
class Hijo_FabricaWidget extends FabricaWidget
{
var $oink = 'oink';
}
// crear un nuevo objeto
$FW = new FabricaWidget();
$HFW = new Hijo_FabricaWidget();
if (is_subclass_of($HFW, 'FabricaWidget')) {
echo "si, \$HFW es una sub-clase de FabricaWidget\n";
} else {
echo "no, \$HFW no es una sub-clase de FabricaWidget\n";
}
if (is_subclass_of($FW, 'FabricaWidget')) {
echo "si, \$FW es una sub-clase de FabricaWidget\n";
} else {
echo "no, \$FW no es una sub-clase de FabricaWidget\n";
}
// usable sólo desde PHP 5.0.3
if (is_subclass_of('Hijo_FabricaWidget', 'FabricaWidget')) {
echo "si, Hijo_FabricaWidget es una sub-clase de FabricaWidget\n";
} else {
echo "no, Hijo_FabricaWidget no es una sub-clase de FabricaWidget\n";
}
?>
El resultado del ejemplo sería:
si, $HFW es una sub-clase de FabricaWidget no, $FW no es una sub-clase de FabricaWidget si, Hijo_FabricaWidget es una sub-clase de FabricaWidget
Nota:
Esta función cargará cualquier autocargador registrado si la clase todavía no existe.