Funkcija class_uses
Funkcija class_uses vraća niz sa imenima trejtova,
koje koristi određena klasa ili objekat. Funkcija prihvata
jedan obavezni parametar - klasu ili objekat, i jedan opcioni
parametar, koji određuje da li je potrebno uključiti trejtove roditeljskih klasa.
Sintaksa
class_uses(object|string $class, bool $autoload = true): array
Primer
Kreirajmo nekoliko trejtova i klasu koja ih koristi:
<?php
trait TraitA {
public function methodA() {}
}
trait TraitB {
public function methodB() {}
}
class MyClass {
use TraitA, TraitB;
}
$res = class_uses('MyClass');
print_r($res);
?>
Rezultat izvršavanja koda:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
Primer
Proverimo trejtove za objekat:
<?php
$obj = new MyClass();
$res = class_uses($obj);
print_r($res);
?>
Rezultat izvršavanja koda:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
Primer
Rad sa nasleđivanjem:
<?php
class ParentClass {
use TraitA;
}
class ChildClass extends ParentClass {
use TraitB;
}
$res = class_uses('ChildClass');
print_r($res);
?>
Rezultat izvršavanja koda:
[
'TraitB' => 'TraitB'
]
Pogledajte takođe
-
funkciju
class_parents,
koja vraća roditeljske klase -
funkciju
class_implements,
koja vraća interfejse klase