(PHP 4, PHP 5, PHP 7, PHP 8)
get_class — Devuelve el nombre de la clase de un objeto
Devuelve el nombre de la clase de la cual object
es una instancia.
Si object
es una instancia de una clase que existe
en un espacio de nombres, el nombre con el espacio de nombres de la clase será devuelto.
Si get_class() es llamada con algo que no sea un objeto,
se levanta una TypeError. Anteriormente a PHP 8.0.0,
se emitía una advertencia de nivel E_WARNING
.
Si get_class() es llamado sin argumento fuera de una
clase, se levanta una Error. Anteriormente a PHP 8.0.0,
se emitía una advertencia de nivel E_WARNING
.
Versión | Descripción |
---|---|
8.3.0 |
Llamar a get_class() sin argumento ahora desencadena una advertencia
E_DEPRECATED ; previamente, llamar a esta función dentro de una clase devolvía el nombre de esa clase.
|
8.0.0 |
Llamar a esta función desde fuera de una clase ahora lanza una Error.
Anteriormente, se generaba un E_WARNING y la función devolvía false .
|
7.2.0 |
Anteriormente a esta versión, el valor por omisión para
object era null y tenía el mismo efecto que
no pasar ningún valor. Ahora null ya no es el valor por omisión
para object , y ya no es una entrada válida.
|
Ejemplo #1 Ejemplo con get_class()
<?php
class foo {
function name()
{
echo "Mi nombre es " , get_class($this) , "\n";
}
}
// creación de un objeto
$bar = new foo();
// Llamada externa
echo "Su nombre es " , get_class($bar) , "\n";
// Llamada interna
$bar->name();
?>
El resultado del ejemplo sería:
Su nombre es foo Mi nombre es foo
Ejemplo #2 Uso de get_class() en una superclase
<?php
abstract class bar {
public function __construct()
{
var_dump(get_class($this));
var_dump(get_class());
}
}
class foo extends bar {
}
new foo;
?>
El resultado del ejemplo sería:
string(3) "foo" string(3) "bar"
Ejemplo #3 Uso de get_class() con espacios de nombres de clase
<?php
namespace Foo\Bar;
class Baz {
public function __construct()
{
}
}
$baz = new \Foo\Bar\Baz;
var_dump(get_class($baz));
?>
El resultado del ejemplo sería:
string(11) "Foo\Bar\Baz"