(PHP 4, PHP 5, PHP 7, PHP 8)
get_class — Retourne le nom de la classe d'un objet
$object = ?): string
   Retourne le nom de la classe de l'objet obj.
  
objectL'objet testé. Ce paramètre peut être omis lorsque la fonction est utilisée dans une classe.
Note: Passer explicitement
nulldansobjectn'est plus autorisé depuis PHP 7.2.0 et émet uneE_WARNING. À partir de PHP 8.0.0, une TypeError est émise quandnullest utilisé.
   Retourne le nom de la classe dont object
   est une instance.
  
   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é.
  
   Si get_class() est appelée avec autre chose qu'un objet,
   une TypeError est levée. Antérieur à PHP 8.0.0,
   une alerte de niveau E_WARNING était émise.
  
   Si get_class() est appelé sans argument en dehors d'une
   classe une Error est levée. Antérieur à PHP 8.0.0,
   une alerte de niveau E_WARNING était émise.
  
| Version | Description | 
|---|---|
| 8.0.0 | Appeler cette fonction depuis l'extérieur d'une classe
        lance désormais une Error.
        Auparavant, un E_WARNINGétait généré
        et la fonction renvoyaitfalse. | 
| 7.2.0 | Antérieur à cette version, la valeur par défaut pour objectétaitnullet avait le même effet que 
        pas passer de valeur. Désormaisnulln'est plus la valeur par défaut
        pourobject, et n'est plus une entrée valide. | 
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"