(PHP 4, PHP 5, PHP 7, PHP 8)
get_class — Retourne le nom de la classe d'un objet
Description
get_class(object
$object
= ?): string
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 et émet une E_WARNING
.
À partir de PHP 8.0.0, une TypeError est émise
quand null
est utilisé.
Valeurs de retour
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é.
Erreurs / Exceptions
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.
Historique
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
- get_called_class() - Le nom de la classe en "Late Static Binding"
- get_parent_class() - Retourne le nom de la classe parente d'un objet
- gettype() - Retourne le type de la variable
- get_debug_type() - Gets the type name of a variable in a way that is suitable for debugging
- is_subclass_of() - Détermine si un objet est une sous-classe d'une classe donnée ou l'implémente