Функция 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функцияси,
класснинг интерфейсларини кайтаради