Antje Hofmann: Namen eines Objektes herausfinden

Beitrag lesen

Hallo Harry

vielleicht steh ich ja nur total auf der Leitung, oder gibt es in PHP wirklich keine Möglichkeit, herauszufinden, wie das Objekt heißt, auf dem man gerade arbeitet? Der Name der zugrundeliegenden Klasse wäre ja kein Problem (außerhalb der Klasse mit get_class, innerhalb mit __CLASS__). Aber so was wie __OBJECT__ gibt's ja leider nicht.

$DasTolleObjekt = new xyz();
$DasTolleObjekt->WerBinIch();

du möchtest also wissen, wie der Name einer Instanz einer Klasse heißt?

Ich habe mir zu diesem Zweck mal eine kleine Funktion geschrieben, die genau diese Information ermittelt.

Voraussetzung, der Name der Klasse von dem eine Instanz erzeugt wurde ist bekannt.

<?php

class Hyperlink {

}

class other_class {

}

$myClass=new Hyperlink;
$myClass2=new Hyperlink;
$myClass3=new other_class;

function instance_exists($arg) {
 if (class_exists($arg)) {
   $vars = $GLOBALS;
   foreach ($vars as $key=>$val)
     if (!(is_object($val) && get_class($val)==strtoLower($arg))) unset($vars[$key]);

return array_keys($vars);
 }
 return false;
}

var_dump(instance_exists("Hyperlink"));

?>

Vielleicht hilft dir diese Funktion weiter.

Viele Grüße

Antje