У вас не будет много вариантов там. Другой вариант (который был опубликован в другом вопросе), чтобы заставить вызывающего пользователя предоставлять информацию с помощью вызова функции (используя магические константы PHP):
callFunction(1, 2, 3, __FUNCTION__)
callFunction(1, 2, 3, __CLASS__, __METHOD__)
callFunction(1, 2, 3, $this, __METHOD__)
or
$class = new ReflectionClass( __CLASS__ );
$method = $class->getMethod( __METHOD__ );
callFunction(1, 2, 3, $method) // $method would be a ReflectionMethod obj
будет возможной альтернативой. Но это
- запутывает ваш код
- можно «манипулировать», что может привести к сбою кода
callFunction
, и будет довольно сложно отследить эти ошибки.
Если бы я был на вашем месте, я бы попытался избежать этого в функции, которая используется в вашем коде. используйте debug_backtrace
(даже если это может быть «медленно»). Читаемый код выигрывает у быстрого кода.