PHP 8.4.0 RC2 available for testing

class_parents

(PHP 5, PHP 7, PHP 8)

class_parents Retourne les classes parentes d'une classe

Description

class_parents(object|string $object_or_class, bool $autoload = true): array|false

class_parents() retourne un tableau avec le nom des classes parentes de la classe object_or_class.

Liste de paramètres

object_or_class

Un objet (instance) ou une chaîne de caractères (nom de la classe).

autoload

Défini s'il faut autocharger si pas déjà autochargé.

Valeurs de retour

Un tableau en cas de succès, ou false quand la classe donnée n'existe pas.

Exemples

Exemple #1 Exemple avec class_parents()

<?php

class foo { }
class
bar extends foo {}

print_r(class_parents(new bar));

// vous pouvez aussi spécifier le paramètre comme une chaîne de caractères
print_r(class_parents('bar'));

spl_autoload_register();

// Utilisation de l'autoloading pour charger la classe 'not_loaded'
print_r(class_parents('not_loaded', true));

?>

Résultat de l'exemple ci-dessus est similaire à :

Array
(
   [foo] => foo
)
Array
(
    [foo] => foo
)
Array
(
   [parent_de_not_loaded] => parent_de_not_loaded
)

Notes

Note: Il est préférable d'utiliser instanceof ou la fonction is_a() pour vérifier qu'un objet implémente une interface.

Voir aussi

  • class_implements() - Retourne les interfaces implémentées par une classe ou une interface donnée
  • is_a() - Vérifie si l'objet est d'un certain type ou sous-type.
  • instanceof

add a note

User Contributed Notes 1 note

up
35
sergei dot solomonov at gmail dot com
12 years ago
<?php
class foo {}
class
bar extends foo {}
class
baz extends bar {}

print_r(class_parents(new baz));
?>

Will output:
Array
(
[bar] => bar
[foo] => foo
)
To Top