Συνάρτηση class_uses

Η συνάρτηση class_uses επιστρέφει έναν πίνακα με τα ονόματα των traits, που χρησιμοποιεί η καθορισμένη κλάση ή αντικείμενο. Η συνάρτηση δέχεται μία υποχρεωτική παράμετρο - κλάση ή αντικείμενο, και μία προαιρετική παράμετρο, που καθορίζει αν πρέπει να συμπεριληφθούν τα traits των γονικών κλάσεων.

Σύνταξη

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

Παράδειγμα

Δημιουργούμε πολλά traits και μία κλάση που τα χρησιμοποιεί:

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

Αποτέλεσμα εκτέλεσης κώδικα:

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

Παράδειγμα

Ελέγχουμε τα traits για αντικείμενο:

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

Αποτέλεσμα εκτέλεσης κώδικα:

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

Παράδειγμα

Εργασία με κληρονομικότητα:

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

Αποτέλεσμα εκτέλεσης κώδικα:

php[
  'TraitB' => 'TraitB'
]

Δείτε επίσης

  • τη συνάρτηση class_parents,
    που επιστρέφει τις γονικές κλάσεις
  • τη συνάρτηση class_implements,
    που επιστρέφει τις διεπαφές της κλάσης