Mailinglisten-Archive |
Hi, ich habe zwei PHP5 Klassen (oder später auch mehr), wobei die eine (bzw. die vielen) von der anderen abgeleitet ist. Nun habe ich eine Methode in der Basis-Klasse, die statisch aufgerufen wird. In der möchte ich gerne den Namen der aufgerufenen Klasse haben. Hat jemand eine Idee wie ich da ran komme? Das Problem ist, dass beim statischen Aufrufen kein $this zur Verfügung steht und sowas wie get_class() somit nicht geht und __CLASS__ auch den Namen der Klasse in der es steht zurück liefert. Etwas Source zur Verdeutlichung: <?php class base { static function foo() { return MEIN_NAME; } } class extended extends base { } echo base::foo(); // soll base ausgeben echo extended::foo(); // soll extended ausgeben ?> Momentane Lösung ist, dass ich die foo() in extended überlade, dort mit__CLASS__ den Namen hole und als zusätzlichen Parameter an parent::foo() übergebe - wirklich gefallen tut es mir nicht und ich denke, dass es doch wohl einfacher gehen muss ;-) johannes
php::bar PHP Wiki - Listenarchive