Fonction class_uses

La fonction class_uses retourne un tableau avec les noms des traits utilisés par la classe ou l'objet spécifié. La fonction accepte un paramètre obligatoire - une classe ou un objet, et un paramètre optionnel déterminant s'il faut inclure les traits des classes parentes.

Syntaxe

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

Exemple

Créons plusieurs traits et une classe qui les utilise :

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

Résultat de l'exécution du code :

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

Exemple

Vérifions les traits pour un objet :

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

Résultat de l'exécution du code :

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

Exemple

Travail avec l'héritage :

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

Résultat de l'exécution du code :

php[
  'TraitB' => 'TraitB'
]

Voir aussi