class_uses функциясы

class_uses функциясы көрсетілген класс немесе объект қолданатын трейттердің атаулары бар массивті қайтарады. Функция бір міндетті параметрді - класс немесе объект, және бір міндетті емес параметрді қабылдайды, ол ата-аналар кластарының трейттерін қосу керек пе екенін анықтайды.

Синтаксис

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

Мысал

Бірнеше трейттер мен оларды қолданатын классты жасайық:

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'
]

Мысал

Объект үшін трейттерді тексерейік:

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 функциясы,
    ол класстың интерфейстерін қайтарады