Intereting Posts
Одновременное выполнение нескольких скриптов PHP (проблема с циклом базы данных) Соединение базы данных MySQL не закрыто: что произойдет? показывая самое длинное расстояние для каждого велосипеда и зеленый значок, если более 100 работать – из двух значений массива? (PHP) Распространение содержимого массива равномерно по фиксированному числу столбцов Репопуляция флажков в Codeigniter после неудачной проверки формы POST Content-Length превышает лимит PHP отправляет зашифрованные данные по URL-адресу База данных связанных параметров PHP вызывает неправильное количество параметров, если я использую двоеточие Получить все родительские ключи заданного дочернего ключа в массиве Изменено поведение (un) serialize ()? Загрузите файл excel в PHP_Excel из переменной Захват определенной части предыдущих / следующих узлов Symfony Bundle: как избежать использования __DIR__ для построения пути к сопоставлениям Doctrine FatalErrorException в строке route.php 22: Class 'Painting' not found

Получить имя файла и номер строки начала объявления функции

Возможный дубликат:
Как определить, где определена функция?
включил php-файл, чтобы узнать его имя?

Могу ли я получить имя файла и номер строки начала объявления функции в PHP?

Скажем, у меня есть следующий код:

1. /** 2. * This function shows the foo bar. 3. */ 4. function foo_bar($subject) { 5. echo "Foo bar:\n"; 6. if ($subject == "none") { 7. trigger_error("Wrong argument given to 'foo_bar()' in ... on line ....", E_USER_WARNING); 8. } 9. ... 10. } 

Когда я вызываю foo_bar("none") , функция должна вызывать такую ​​ошибку:

Предупреждение: неправильный аргумент, присвоенный 'foo_bar ()' в / home / web / mcemperor в строке 4.

Могу ли я получить имя файла и номер строки начала объявления функции?

Related of "Получить имя файла и номер строки начала объявления функции"

Вы ищете ReflectionFunction .

 $r = new ReflectionFunction('foo_bar'); $file = $r->getFileName(); $startLine = $r->getStartLine(); 

Это просто … Он работает для любой определенной функции, независимо от того, что вы передали аргументу конструктора.

Имя функции можно найти с помощью исключений PHP, которые более интересны для запуска ошибок: http://www.php.net/manual/en/exception.gettrace.php

 $backtrace = debug_backtrace(); $line = $backtrace[0]['line']; $file = $backtrace[0]['file']; 

http://www.php.net/manual/en/function.debug-backtrace.php