<?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 seria:
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