Wo fand der Methodenaufruf statt?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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.

    Comment


    • #3
      Ahhh, ok, Danke!

      Comment

      Working...
      X