2024年PHP开发者大会日本站

class_parents

(PHP 5, PHP 7, PHP 8)

class_parents返回给定类的父类

描述

class_parents(对象|字符串 $object_or_class, 布尔值 $autoload = true): 数组|false

此函数返回一个数组,其中包含给定object_or_class的父类名称。

参数

object_or_class

一个对象(类实例)或一个字符串(类名)。

autoload

是否自动加载(如果尚未加载)。

返回值

成功时返回数组,如果给定的类不存在则返回false

示例

示例 #1 class_parents() 例子

<?php

class foo { }
class
bar extends foo {}

print_r(class_parents(new bar));

// 你也可以将参数指定为字符串
print_r(class_parents('bar'));

spl_autoload_register();

// 使用自动加载来加载 'not_loaded' 类
print_r(class_parents('not_loaded', true));

?>

以上示例将输出类似于以下内容

Array
(
    [foo] => foo
)
Array
(
    [foo] => foo
)
Array
(
    [parent_of_not_loaded] => parent_of_not_loaded
)

备注

注意: 要检查对象是否扩展了某个类,应该使用instanceofis_a() 函数。

参见

添加备注

用户贡献的笔记 1 条笔记

sergei dot solomonov at gmail dot com
12 年前
<?php
class foo {}
class
bar extends foo {}
class
baz extends bar {}

print_r(class_parents(new baz));
?>

将输出
数组
(
[bar] => bar
[foo] => foo
)
To Top