get_class

(PHP 4, PHP 5, PHP 7)

get_classErmittelt den Klassennamen eines Objekts

Beschreibung

get_class ([ object $object ] ) : string

Ermittelt den Klassennamen für das übergebene object.

Parameter-Liste

object

Das gewünschte Objekt. Dieser Parameter kann innerhalb einer Klasse ausgelassen werden.

Hinweis: Die explizite Übergabe von NULL als object 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 von NULL erzeugt nun einen E_WARNING Hinweis.

Rückgabewerte

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.

Fehler/Exceptions

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

Changelog

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.

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