Funkcija class_uses
Funkcija class_uses grąžina masyvą su treitų pavadinimais,
kuriuos naudoja nurodyta klasė arba objektas. Funkcija priima
vieną privalomą parametrą - klasę arba objektą, ir vieną neprivalomą
parametrą, nustatantį ar reikia įtraukti tėvinių klasių treitus.
Sintaksė
class_uses(object|string $class, bool $autoload = true): array
Pavyzdys
Sukurkime kelis treitus ir klasę, kuri juos naudoja:
<?php
trait TraitA {
public function methodA() {}
}
trait TraitB {
public function methodB() {}
}
class MyClass {
use TraitA, TraitB;
}
$res = class_uses('MyClass');
print_r($res);
?>
Kodo vykdymo rezultatas:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
Pavyzdys
Patikrinkime treitus objektui:
<?php
$obj = new MyClass();
$res = class_uses($obj);
print_r($res);
?>
Kodo vykdymo rezultatas:
[
'TraitA' => 'TraitA',
'TraitB' => 'TraitB'
]
Pavyzdys
Darbas su paveldėjimu:
<?php
class ParentClass {
use TraitA;
}
class ChildClass extends ParentClass {
use TraitB;
}
$res = class_uses('ChildClass');
print_r($res);
?>
Kodo vykdymo rezultatas:
[
'TraitB' => 'TraitB'
]
Taip pat žiūrėkite
-
funkciją
class_parents,
kuri grąžina tėvines klases -
funkciją
class_implements,
kuri grąžina klasės interfeisus