(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"