Функсияи class_uses
Функсияи class_uses массиве бо номҳои трейтҳоро бармегардонад,
ки аз ҷониби класс ё объекти муайяншуда истифода мешаванд. Функсия як
параметрҳои ҳатмӣ - класс ё объект, ва як параметри ихтиёрӣ мегирад,
ки муайян мекунад оё трейтҳои классҳои волидайнро дохил кардан лозим аст.
Синтаксис
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,
ки интерфейсҳои классро бармегардонад