phpbar.de logo

Mailinglisten-Archive

[php] "Anrufer" ermitteln

[php] "Anrufer" ermitteln

Andreas Demmer php at andreas-demmer.de
Mon Sep 13 16:46:52 CEST 2004


Christoph wrote:

> Ich benötige den Namen einer Klasse die auf eine Methode einer
> anderen Klasse zugreift. Dabei soll der Name natürlich nicht
> übergeben werden müssen.

Da Dein Snippet schon in PHP5 war, kannst Du von debug_backtrace()
(ab PHP 4.3.x) Gebrauch machen:

<?php
class foo {
    public function bar(){
       $backtrace = debug_backtrace();
       echo 'class: '.$backtrace[count($backtrace) - 2]['class']."<br />\n";
       echo 'function: '.$backtrace[count($backtrace) - 2]['function']."<br
/>\n";
    }
}

class bar {
    public function __construct(){
       $objFoo = new foo();
       $objFoo->bar();
    }
}

$objBar = new bar();
?>

Gruss,
Andreas

--
http://www.andreas-demmer.de



php::bar PHP Wiki   -   Listenarchive