class_uses în PHP

Returnează trait-urile folosite direct de o clasă (fără cele ale claselor părinte).

Sintaxă
class_uses($object_or_class, bool $autoload = true): array|false

Ce face class_uses

class_uses listează trait-urile adăugate cu use chiar în clasa dată. Trait-urile din clasele părinte sau cele folosite în interiorul altor trait-uri nu apar; pentru ele trebuie să parcurgi și class_parents.

Parametri

Parametru Descriere
$object_or_class Obiectul sau numele clasei.
$autoload Opțional. false ca să nu pornească autoloader-ul.

Ce returnează

Tabloul trait-urilor sau false dacă clasa nu există.

Exemple

Exemplul 1: Doar trait-urile directe

<?php
trait AreSlug {}
trait AreDataCrearii {}

class Continut { use AreDataCrearii; }
class Articol extends Continut { use AreSlug; }

print_r(class_uses("Articol"));

$toate = class_uses("Articol");
foreach (class_parents("Articol") as $parinte) {
    $toate += class_uses($parinte);
}
print_r($toate);

Rezultat

Array
(
    [AreSlug] => AreSlug
)
Array
(
    [AreSlug] => AreSlug
    [AreDataCrearii] => AreDataCrearii
)

Greșeli frecvente

  • Verifici cu class_uses dacă o clasă copil are un trait primit de la părinte. Rezultatul nu îl include.

Comenzi înrudite

  • trait / use: Un trait este un bloc de metode și proprietăți pe care îl poți copia în mai multe clase cu use.
  • class_implements: Returnează interfețele implementate de o clasă sau de un obiect, inclusiv cele moștenite.
  • class_parents: Returnează toate clasele părinte ale unei clase, de la părintele direct până la cel mai vechi strămoș.