Очень часто, при добавлении функционала или правки существующего приходится искать где именно вызывается та или иная функция.
Хорошо, когда проект писался самостоятельно и примерно можно запомнить какая архитектура проекта. А что делать, когда сайт достается "в наследство" и не просто сайт, а целый огромный портал и очень срочно необходимо переписать вывод на экран в какой-то функции?
Как же найти файл где хранится php функция, которую нам нужно изменить?
Если есть ssh - можно запустить поиск по проекту, а если есть только фтп - то придется или писать "поисковый скрипт на пхп" или копировать сайт на компьютер и на нем уже делать поиск нужной функции.
А можно воспользоваться штатными средствами самого php
, а точнее классом ReflectionFunction
.
Поместим этот код сразу за вызовом искомой функции (или, например, в самом низу сайта)
$file_function = new ReflectionFunction('function_name');
print $file_function ->getFileName() . ':' . $file_function ->getStartLine();
и на экране отобразится полный путь к файлу и номер строки:
/sata6/home/www/artkiev_com/meta/data/core/system/claster_8/run.php:114