array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'de', ), 'this' => array ( 0 => 'function.get-class.php', 1 => 'get_class', ), 'up' => array ( 0 => 'ref.classobj.php', 1 => 'Klassen- und Objekt-Funktionen', ), 'prev' => array ( 0 => 'function.get-class-vars.php', 1 => 'get_class_vars', ), 'next' => array ( 0 => 'function.get-declared-classes.php', 1 => 'get_declared_classes', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'de', 'path' => 'reference/classobj/functions/get-class.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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"