Найти скрытую функцию PHP? - PullRequest
       0

Найти скрытую функцию PHP?

4 голосов
/ 06 сентября 2011

Итак, я выбрал работу, которая требует от меня исправить какой-то неработающий код, который написал другой программист.Это беспорядок, и его трудно прочитать, но то, что действительно достает меня, это то, что мне нужно найти определенную функцию, которая похоронена где-то в сотнях файлов php.

Если бы вам дали имя функции, скажем <?php print mystery_function(); ?>, как можно было бы отследить это?

Помимо грубого метода ftping всего сайта и поиска в Windows по каждому файлу (что я собираюсь сделать), есть ли способ отправки значения этой функции и выдачи ошибки, которую можно отследить

Ответы [ 3 ]

17 голосов
/ 06 сентября 2011
$reflection = new ReflectionFunction('mystery_function');
echo $reflection->getFileName();

http://www.php.net/manual/en/class.reflectionfunction.php

2 голосов
/ 06 сентября 2011

Если вы работаете в Windows, вы можете использовать wingrep , чтобы помочь вам довольно быстро найти файлы. Что касается решения в самом php, я не уверен.

1 голос
/ 03 марта 2012

Я не вижу НИЧЕГО "грубого" в "ftping" всего сайта, сохраняя его локально, а затем запуская grep для любой подстроки,
или даже просто SSH в и grep на месте.

Это давайтеВы найдете любые подстроки, такие как фрагменты HTML, имена файлов и тому подобное, а не только имена функций.

Не называйте грубый метод общего назначения, используемый тысячами программистов, грубый;)

...