PHP is_subclass_of 类/对象函数
-
定义和用法
is_subclass_of - 如果此对象是该类的子类,则返回 TRUE -
版本支持
PHP4 PHP5 PHP7 支持 支持 支持 v5.3.9 添加 allow_string 参数
v5.0.3 您还可以将对象参数指定为字符串(类的名称)
-
语法
is_subclass_of ( object $object , string $class_name [, bool $allow_string = FALSE ] )
如果对象 object 所属类是类 class_name 的子类,则返回 TRUE,否则返回 FALSE。自 PHP 5.0.3 起也可以用一个字符串来指定 object 参数(类名)。
-
参数
参数 必需的 描述 object 是 类名或对象实例 class_name 是 类名。 allow_string 否 如果此参数设置为FALSE,则不允许将字符串类名称作为对象。 如果该类不存在,这也可以防止调用自动加载器。 -
返回值
如果对象对象属于class_name的子类,则此函数返回TRUE,否则返回FALSE。 -
示例
尝试一下<?php // define a class class WidgetFactory { var $oink = 'moo'; } // define a child class class WidgetFactory_Child extends WidgetFactory { var $oink = 'oink'; } // create a new object $WF = new WidgetFactory(); $WFC = new WidgetFactory_Child(); if (is_subclass_of($WFC, 'WidgetFactory')) { echo "\$WFC 是 WidgetFactory 的一个子类<br/>"; } else { echo "\$WFC 不是 WidgetFactory 的子类<br/>"; } if (is_subclass_of($WF, 'WidgetFactory')) { echo "\$WF 是 WidgetFactory 的子类<br/>"; } else { echo "\$WF 不是 WidgetFactory 的子类<br/>"; } // usable only since PHP 5.0.3 if (is_subclass_of('WidgetFactory_Child', 'WidgetFactory')) { echo "WidgetFactory_Child 是 WidgetFactory子类。<br/>"; } else { echo "WidgetFactory_Child 不是 WidgetFactory的子类。<br/>"; } ?>
-
相关函数
get_class() - 返回对象的类名get_parent_class() - 返回对象或类的父类名is_a() - 如果对象属于该类或该类是此对象的父类则返回 TRUEclass_parents() - 返回指定类的父类。