get_class
(PHP 4, PHP 5, PHP 7, PHP 8)
get_class — Retorna o nome da classe de um objeto
Parâmetros
Valor Retornado
Retorna o nome da classe da qual object
é uma
instância.
Se object
for uma instância de uma classe que existe
em um espaço de nomes, o nome da classe qualificado com espaço de nomes é retornado.
Erros/Exceções
Se get_class() for chamada com qualquer outro parâmetro que não seja
um objeto, TypeError é disparado. Antes do PHP 8.0.0,
um alerta E_WARNING
era emitido.
Se get_class() for chamada sem parâmetros de fora de uma classe,
um Error é disparado. Antes do PHP 8.0.0,
um alerta E_WARNING
era emitido.
Registro de Alterações
Versão | Descrição |
---|---|
8.3.0 |
Chamar get_class() sem um argumento agora emite um
alerta E_DEPRECATED ;
anteriormente, chamar esta função de dentro de uma classe retornava o nome dessa classe.
|
8.0.0 |
Chamar esta função de fora de uma classe, sem argumentos,
agora dispara um Error.
Anteriormente, um alerta E_WARNING era emitido
e a função retornava false .
|
7.2.0 |
Antes desta versão o valor padrão para object
era null e tinha o mesmo efeito de não se passar nenhum valor. Agora,
null foi removido do valor padrão para object ,
e não é mais uma entrada válida.
|
Exemplos
Example #1 Usando get_class()
<?php
class foo {
function name()
{
echo "Meu nome é " , get_class($this) , "\n";
}
}
// cria um objeto
$bar = new foo();
// chamada externa
echo "Seu nome é " , get_class($bar) , "\n";
// chamada interna
$bar->name();
?>
O exemplo acima produzirá:
Meu nome é foo Seu nome é foo
Example #2 Usando get_class() em superclasse
<?php
abstract class bar {
public function __construct()
{
var_dump(get_class($this));
var_dump(get_class());
}
}
class foo extends bar {
}
new foo;
?>
O exemplo acima produzirá:
string(3) "foo" string(3) "bar"
Example #3 Usando get_class() em classe com espaço de nomes
<?php
namespace Foo\Bar;
class Baz {
public function __construct()
{
}
}
$baz = new \Foo\Bar\Baz;
var_dump(get_class($baz));
?>
O exemplo acima produzirá:
string(11) "Foo\Bar\Baz"
Veja Também
- get_called_class() - O nome da classe da qual o método estático foi chamado
- get_parent_class() - Obtém o nome da classe pai para o objeto ou classe
- gettype() - Obtém o tipo de uma variável
- get_debug_type() - Obtém o nome do tipo de uma variável de forma adequada a depuração
- is_subclass_of() - Verifica se o objeto tem esta classe como uma de suas classes pai