I was having a bit of trouble tracking down exactly where a method was getting called from today.
Usually a search in my project directory will turn up the result very quickly, but I wasn’t having luck with PHPStorm for some reason.
So, the next best thing was to get a stack trace so that I could get the last few functions that had been run. I don’t do stack traces much in PHP, so I had to track down the code to use.
Of the few options to use, this seemed to be the easiest to use and remember.
$e = new Exception; // Output the stack trace to the browser echo $e->getTraceAsString(); // Send stack trace to error log error_log( $e->getTraceAsString() );
And if you’re wanting more verbose output, including the arguments that were passed to each function, try this.
$e = new \Exception; // Recursively print the stack trace print_r( $e->getTrace() ); // Log the stack trace object error_log( print_r( $e->getTrace(), true ) );