get_class

(PHP 4, PHP 5, PHP 7)

get_classRetourne le nom de la classe d'un objet

Description

get_class ([ object $object ] ) : string

Retourne le nom de la classe de l'objet obj.

Liste de paramètres

object

L'objet testé. Ce paramètre peut être omis lorsque la fonction est utilisée dans une classe.

Note: Passer explicitement NULL dans object n'est plus autorisé depuis PHP 7.2.0. Le paramètre est toujours optionnel et appeler get_class() dans une classe fonctionnera, mais passer NULL émet une notice E_WARNING.

Valeurs de retour

Retourne le nom de la classe dont object est une instance. Retourne FALSE si object n'est pas un objet.

Si object est omis lorsque la fonction est appelée dans une classe, le nom de la classe courante est retourné.

Si object est une instance d'une classe qui existe dans un namespace, le nom avec les namespace de la classe sera retourné.

Erreurs / Exceptions

Si get_class() est appelée avec autre chose qu'un objet, une alerte de niveau E_WARNING sera émise.

Historique

Version Description
7.2.0 NULL a n'est plus la valeur par défaut pour object, et n'est plus une entrée valide.
5.3.0 NULL est devenue la valeur par défaut pour object, donc passer NULL pour object a le même effet que de laisser le paramètre vide.

Exemples

Exemple #1 Exemple avec get_class()

<?php

class foo {
    function 
name()
    {
        echo 
"Mon nom est " get_class($this) , "\n";
    }
}

// création d'un objet
$bar = new foo();

// Appel externe
echo "Son nom est " get_class($bar) , "\n";

// Appel interne
$bar->name();

?>

L'exemple ci-dessus va afficher :

Son nom est foo
Mon nom est foo

Exemple #2 Utilisation de get_class() dans une superclasse

<?php

abstract class bar {
    public function 
__construct()
    {
        
var_dump(get_class($this));
        
var_dump(get_class());
    }
}

class 
foo extends bar {
}

new 
foo;

?>

L'exemple ci-dessus va afficher :

string(3) "foo"
string(3) "bar"

Exemple #3 Utilisation get_class() avec des namespace de classe

<?php

namespace Foo\Bar;

class 
Baz {
    public function 
__construct()
    {

    }
}

$baz = new \Foo\Bar\Baz;

var_dump(get_class($baz));
?>

L'exemple ci-dessus va afficher :

string(11) "Foo\Bar\Baz"

Voir aussi