Is it possible to have a function automatically contain the line number and the file that the function was CALLED in,
as if i call __LINE__
or __FILE__
in the function it will use the line and file the function definition is in.
but i dont want to have to pass __LINE__
and __FILE__
into the function every time.
so if i set them as the default params, do they come from the function definition, or where it is being called from?
Doing what you suggest doesn't seem to work.
You can do it like this, but I'm not sure why you want to do it and that there isn't a better approach to what you are trying to achieve - see Wrikken's answer.
<?php
function test() {
$backtrace = debug_backtrace();
$last = $backtrace[0];
echo "{$last['function']}() called from {$last['file']} line {$last['line']}\r\n";
}
test();
The only way would be using debug_backtrace()
, but as the name says: it is for debugging. Your code should not attach any meaning or functionality in production based on where/when it's called.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With