Ce face class_implements
class_implements returnează un tablou în care cheile și valorile sunt numele interfețelor. Include interfețele implementate de clasele părinte și cele extinse de alte interfețe.
Pentru o singură verificare este mai simplu $obiect instanceof Interfata; funcția este utilă când vrei lista completă.
Parametri
| Parametru | Descriere |
|---|---|
$object_or_class |
Obiectul sau numele clasei. |
$autoload |
Opțional. false ca să nu pornească autoloader-ul. |
Ce returnează
Tabloul interfețelor sau false dacă clasa nu există.
Exemple
Exemplul 1: Interfețe proprii și din PHP
<?php
interface Exportabil {}
class Colectie implements Countable, IteratorAggregate
{
public function count(): int { return 0; }
public function getIterator(): Iterator { return new ArrayIterator([]); }
}
class Raport extends Colectie implements Exportabil {}
print_r(class_implements(new Raport()));
Rezultat
Array
(
[Countable] => Countable
[IteratorAggregate] => IteratorAggregate
[Traversable] => Traversable
[Exportabil] => Exportabil
)
Greșeli frecvente
- Dai un nume de clasă inexistent. Primești un avertisment și
false; verifică întâi cuclass_exists.
Comenzi înrudite
class_parents: Returnează toate clasele părinte ale unei clase, de la părintele direct până la cel mai vechi strămoș.class_uses: Returnează trait-urile folosite direct de o clasă (fără cele ale claselor părinte).instanceof: Verifică dacă un obiect este de o anumită clasă, extinde acea clasă sau implementează o interfață.interface / implements: O interfață este o listă de metode pe care o clasă promite să le aibă. Clasa le scrie cu implements.