class_uses funksiýasy

class_uses funksiýasy görkezilen klas ýa-da obýekt tarapyndan ulanylan treýtleriň adlary bilen sanawy yzyna gaytarýar. Funksiýa bir hökmany parametr - klas ýa-da obýekt we bir islegiňe görä parametr kabul edýär, ýöne eger-de ata-klaslaryň treýtlerini goşmalymy ýa-da ýok.

Sintaksis

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

Mysal

Birnäçe treýt döretmeli we olary ulanýan klas:

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

Kody ýerine ýetirmegiň netijesi:

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

Mysal

Obýekt üçin treýtleri barlamaly:

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

Kody ýerine ýetirmegiň netijesi:

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

Mysal

Miras almak bilen işlemek:

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

Kody ýerine ýetirmegiň netijesi:

php[
  'TraitB' => 'TraitB'
]

Şeýle-de görmeli

  • class_parents funksiýasyny,
    ýöne ata-klaslary yzyna gaytarýar
  • class_implements funksiýasyny,
    ýöne klasyň interfeýslerini yzyna gaytarýar