class_uses

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

class_uses 指定したクラスが使っているトレイトを返す

説明

class_uses(object|string $object_or_class, bool $autoload = true): array|false

この関数は、指定した object_or_class が使っているトレイトの名前を配列で返します。 しかし、親クラスで使っているトレイトは含まれません。

パラメータ

object_or_class

オブジェクト (クラスのインスタンス) あるいは文字列 (クラス名)。

autoload

デフォルトで __autoload をコールするかしないか。

戻り値

成功した場合に配列、 指定されたクラスが存在しない場合に false を返します。

例1 class_uses() の例

<?php

trait foo { }
class 
bar {
  use 
foo;
}

print_r(class_uses(new bar));

print_r(class_uses('bar'));

spl_autoload_register();

// オートローディングを使い、'not_loaded' クラスを読み込みます
print_r(class_uses('not_loaded'true));

?>

上の例の出力は、 たとえば以下のようになります。

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

参考

関連キーワード:  クラス, 指定, uses, autoload, 配列, Array, parents, 関数, loaded, not