関数 class_uses
関数 class_uses は、指定されたクラスまたはオブジェクトが使用するトレイト名の配列を返します。この関数は、必須パラメータとしてクラスまたはオブジェクトを1つ、オプションパラメータとして親クラスのトレイトを含めるかどうかを指定する真偽値を1つ取ります。
構文
class_uses(object|string $class, bool $autoload = true): array
例
いくつかのトレイトと、それらを使用するクラスを作成しましょう:
<?php
trait TraitA {
public function methodA() {}
}
trait TraitB {
public function methodB() {}
}
class MyClass {
use TraitA, TraitB;
}
$res = class_uses('MyClass');
print_r($res);
?>
コード実行結果:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
例
オブジェクトのトレイトを確認します:
<?php
$obj = new MyClass();
$res = class_uses($obj);
print_r($res);
?>
コード実行結果:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
例
継承を伴う動作:
<?php
class ParentClass {
use TraitA;
}
class ChildClass extends ParentClass {
use TraitB;
}
$res = class_uses('ChildClass');
print_r($res);
?>
コード実行結果:
[
'TraitB' => 'TraitB'
]
関連項目
-
親クラスを返す関数
class_parents,
-
クラスのインターフェースを返す関数
class_implements,