class_uses függvény

A class_uses függvény egy tömböt ad vissza azon trait-ek neveivel, amelyeket a megadott osztály vagy objektum használ. A függvény egy kötött paramétert fogad el - egy osztályt vagy objektumot, és egy opcionális paramétert, amely meghatározza, hogy a szülőosztályok trait-eit is bele kell-e venni.

Szintaxis

phpclass_uses(object|string $class, bool $autoload = true): array

Példa

Hozzunk létre néhány trait-et és egy osztályt, amely használja azokat:

php<?php
  trait TraitA {
    public function methodA() {}
  }
  
  trait TraitB {
    public function methodB() {}
  }
  
  class MyClass {
    use TraitA, TraitB;
  }
  
  $res = class_uses('MyClass');
  print_r($res);
?>

A kód végrehajtásának eredménye:

php[
  'TraitA' => 'TraitA',
  'TraitB' => 'TraitB'
]

Példa

Ellenőrizzük a trait-eket egy objektum esetén:

php<?php
  $obj = new MyClass();
  $res = class_uses($obj);
  print_r($res);
?>

A kód végrehajtásának eredménye:

php[
  'TraitA' => 'TraitA',
  'TraitB' => 'TraitB'
]

Példa

Működés örökléssel:

php<?php
  class ParentClass {
    use TraitA;
  }
  
  class ChildClass extends ParentClass {
    use TraitB;
  }
  
  $res = class_uses('ChildClass');
  print_r($res);
?>

A kód végrehajtásának eredménye:

php[
  'TraitB' => 'TraitB'
]

Lásd még

  • a class_parents függvényt,
    amely a szülőosztályokat adja vissza
  • a class_implements függvényt,
    amely az osztály által implementált interfészeket adja vissza