get_class

(PHP 4, PHP 5, PHP 7, PHP 8)

get_classErmittelt den Klassennamen eines Objekts

Beschreibung

get_class(object$object = ?): string

Ermittelt den Klassennamen für das übergebene object.

Parameter-Liste

object

Das zu untersuchende Objekt.

Hinweis: Die explizite Übergabe von null als object ist von PHP 7.2.0 an nicht mehr erlaubt und erzeugt einen E_WARNING-Hinweis. Seit PHP 8.0.0 wird ein TypeError ausgegeben, wenn null verwendet wird.

Rückgabewerte

Gibt den Namen der Klasse zurück, von der object eine Instanz ist.

Ist object eine Instanz einer Klasse in einem Namensraum, wird der qualifizierte Name dieser Klasse zurückgegeben.

Fehler/Exceptions

Wenn get_class() mit etwas anderem als einem Objekt aufgerufen wird, wird ein TypeError erzeugt. Vor PHP 8.0.0 wurde ein Fehler der Stufe E_WARNING erzeugt.

Wenn get_class() ohne Parameter von außerhalb einer Klasse aufgerufen wird, wird ein Error erzeugt. Vor PHP 8.0.0 wurde ein Fehler der Stufe E_WARNING erzeugt.

Changelog

VersionBeschreibung
8.3.0 Wenn get_class() ohne Argument aufgerufen wird, führt dies nun zu einer E_DEPRECATED-Warnung; zuvor gab diese Funktion, wenn sie innerhalb einer Klasse aufgerufen wurde, den Namen dieser Klasse zurück.
8.0.0 Der Aufruf dieser Funktion von außerhalb einer Klasse ohne jegliche Parameter löst nun einen Error aus. Zuvor wurde, wurde ein E_WARNING erzeugt und die Funktion gab false zurück.
7.2.0 Vor dieser Version war der Standardwert für objectnull, was denselben Effekt hatte wie das Auslassen dieses Parameters. Nun wurde null als Standardwert für object entfernt und ist keine gültige Eingabe mehr.

Beispiele

Beispiel #1 get_class()-Beispiel

<?php

class foo {
function
name()
{
echo
"Mein Name ist " , get_class($this) , "\n";
}
}

// create an object
$bar = new foo();

// external call
echo "Der Name ist " , get_class($bar) , "\n";

// internal call
$bar->name();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der Name ist foo Mein Name ist foo

Beispiel #2 Einsatz von get_class() in einer Elternklasse

<?php

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

class
foo extends bar {
}

new
foo;

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

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

Beispiel #3 Verwendung von get_class() mit Klassen in Namensräumen

<?php

namespace Foo\Bar;

class
Baz {
public function
__construct()
{

}
}

$baz = new \Foo\Bar\Baz;

var_dump(get_class($baz));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(11) "Foo\Bar\Baz"

Siehe auch

  • get_called_class() - Ermittelt den Namen der von einer statischen Methode aufgerufenen Klasse ("Late Static Binding")
  • get_parent_class() - Gibt den Namen der Elternklasse eines Objektes zurück
  • gettype() - Liefert den Datentyp einer Variablen
  • get_debug_type() - Gets the type name of a variable in a way that is suitable for debugging
  • is_subclass_of() - Prüft ob ein Objekt von der angegebenen Klasse abstammt oder sie implementiert
To Top