(PHP 4, PHP 5, PHP 7)
get_class — Ermittelt den Klassennamen eines Objekts
$object
] ) : string
Ermittelt den Klassennamen für das übergebene object
.
object
Das gewünschte Objekt. Dieser Parameter kann innerhalb einer Klasse ausgelassen werden.
Hinweis: Die explizite Übergabe von
NULL
alsobject
ist von PHP 7.2.0 an nicht mehr erlaubt. Der Parameter ist nach wie vor optional, und der Aufruf von get_class() ohne Parameter innerhalb einer Klasse funktioniert, aber die Übergabe vonNULL
erzeugt nun einenE_WARNING
Hinweis.
Liefert den Namen der Klasse deren Instanz object
ist. Ist object
kein Objekt, so wird FALSE
zurückgegeben.
Wenn object
innerhalb einer Klasse ausgelassen wird,
wird der Name dieser Klasse zurück gegeben.
Ist object
eine Instanz einer Klasse in einem
Namensraum, wird der qualifizierte Name dieser Klasse zurückgeliefert.
Wenn get_class() mit etwas anderem als einem Objekt
aufgerufen wird, wird ein Fehler der Stufe E_WARNING
erzeugt.
Version | Beschreibung |
---|---|
7.2.0 |
NULL wurde als Standardwert für object
entfernt, und ist nicht länger eine gültige Eingabe.
|
5.3.0 |
NULL wurde der Standardwert von object ,
so dass nun die Übergabe von NULL an object
das gleiche Ergebnis hat, wie keinen Wert zu übergeben.
|
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"