Wo fand der Methodenaufruf statt?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Wo fand der Methodenaufruf statt?

    Hallo.
    Kann ich in php5 irgendwie ermitteln von wo aus eine Methode aufgerufen wurde (ich bräuchte die Zeile und die Datei)?

    Konkret geht es um das debuggen von "unlogischen" aufrufen. Bei php fehlern habe ich ja debug_backtrace() zur Verfügung.

    z.B: in der Datei start.php (Zeile 12) rufe ich die Methode add_classes auf.
    In der Datei xyz.php hat mein Klasse die folgende Methode. Wenn die Klasse in dieser Klasse schon vorhanden ist, dann soll der debug Methode als Datei "start.php" und als Zeile "12" übergeben werden.

    PHP-Code:
        public function add_classes($arg = array()){
            foreach(
    $arg as $key => $value){
                if(!isset(
    $this->{$key})){
                    
    $this->{$key} = $value;
                }else{
                  
    $trace debug_backtrace();
                  
    $this->debug("Class '{$key}' wasn't added <b>(Class already exists)</b><br>(".__LINE__.") - ".__FILE__,'framework');  
                }
            }
        } 
    Mit __LINE__ und __FILE__ wird mir ja die Zeile und die Datei der xyz.php übergeben.

  • #2
    debug_backtrace funktioniert immer, unabhängig ob ein Fehler vorliegt oder nicht.

    Kommentar


    • #3
      Ahhh, ok, Danke!

      Kommentar

      Lädt...
      X