Есть ли способ определить область, в которой функция вызывается из самой функции? (Или метод, я буду использовать функцию для обозначения либо в оставшейся части сообщения.)
То, что я не хочу, – это передать функции __FILE__
или __CLASS__
в функцию. Эта информация доступна в трассировке стека и т. Д., Поэтому я знаю, что она где-то плавает, но я хотел бы знать, как ее интроспектировать во время выполнения без исключения исключений.
Если есть какие-либо особенности производительности для решения, я хотел бы узнать об этом.
Есть два варианта использования, которые меня интересуют.
В основном я хочу, чтобы это:
class util { public static function checkScope() { echo $magic_scope_stuff; } public static function blah() { util::checkScope(); } } util::checkScope(); // main, line 14 util::blah(); // class util, line 9