Intereting Posts
Какой адрес электронной почты для использования в API аккаунта Google Service Как проверить транзакции Android в приложении для биллинга на моем сервере? Сделать несколько страниц из запроса mysql проверить форму перед отправкой (более сложной, чем проверка пустых полей) PHP Удаленное удаление файлов в Dropbox с использованием PHP без использования API pecl / solr can not, похоже, устанавливает нормальный Используйте mod_rewrite для удаления расширения .php и очистки URL-адресов GET одновременно DOMDocument удаляет теги сценариев из источника HTML Попытка создания zip-файла для загрузки нескольких изображений Выполнение простой арифметики в инструкции MySQL или в PHP-коде Адрес электронной почты как соль для паролей? Проверка номера телефона в PHP Как отправить электронное письмо в PHP надежно? Проблема с базой данных, как сохранить изменяющуюся структуру данных CURLOPT_NOBODY все еще загружает тело – используя полосу пропускания

Определение области вызова в PHP

Есть ли способ определить область, в которой функция вызывается из самой функции? (Или метод, я буду использовать функцию для обозначения либо в оставшейся части сообщения.)

То, что я не хочу, – это передать функции __FILE__ или __CLASS__ в функцию. Эта информация доступна в трассировке стека и т. Д., Поэтому я знаю, что она где-то плавает, но я хотел бы знать, как ее интроспектировать во время выполнения без исключения исключений.

Если есть какие-либо особенности производительности для решения, я хотел бы узнать об этом.

Есть два варианта использования, которые меня интересуют.

  1. Определите, какой файл / строка / функция называется моей функцией
  2. Определите тип класса, вызвавшего вызов функции

В основном я хочу, чтобы это:

 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 

Related of "Определение области вызова в PHP"