Funcția class_uses
Funcția class_uses returnează un array cu numele trait-urilor,
pe care le utilizează clasa sau obiectul specificat. Funcția acceptă
un parametru obligatoriu - clasa sau obiectul, și un parametru opțional,
care determină dacă este necesar să includă trait-urile claselor părinte.
Sintaxă
class_uses(object|string $class, bool $autoload = true): array
Exemplu
Să creem mai multe trait-uri și o clasă care le utilizează:
<?php
trait TraitA {
public function methodA() {}
}
trait TraitB {
public function methodB() {}
}
class MyClass {
use TraitA, TraitB;
}
$res = class_uses('MyClass');
print_r($res);
?>
Rezultatul executării codului:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
Exemplu
Să verificăm trait-urile pentru un obiect:
<?php
$obj = new MyClass();
$res = class_uses($obj);
print_r($res);
?>
Rezultatul executării codului:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
Exemplu
Lucrul cu moștenire:
<?php
class ParentClass {
use TraitA;
}
class ChildClass extends ParentClass {
use TraitB;
}
$res = class_uses('ChildClass');
print_r($res);
?>
Rezultatul executării codului:
[
'TraitB' => 'TraitB'
]
Vedeți și
-
funcția
class_parents,
care returnează clasele părinte -
funcția
class_implements,
care returnează interfețele clasei