(PHP 4, PHP 5, PHP 7, PHP 8)
get_class — Ermittelt den Klassennamen eines Objekts
Ermittelt den Klassennamen für das übergebene object.
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.
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.
| Version | Beschreibung |
|---|---|
| 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 object
null, 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.
|
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"