Как я могу найти функцию, которая включена в несколько файлов из каталогов и подкаталогов? - PullRequest
3 голосов
/ 10 февраля 2012

Допустим, у меня есть эта функция php, вызванная из нескольких файлов php

do_something ($ Var);

Как мне найти файлы, из которых вызывается функция?

позже отредактируйте: я хочу сделать это на Windows

Ответы [ 3 ]

3 голосов
/ 10 февраля 2012

По крайней мере, некоторые IDE имеют средства поиска в вашем текущем проекте всех экземпляров определенных переменных, вызовов функций и т. Д. Если вы используете IDE, проверьте ее справку.

Если вы используете * nix систему, вы можете использовать grep для поиска:

grep do_something *.php'

Выше будет искать в вашем текущем рабочем каталоге текст «do_something» во всех файлах, заканчивающихся расширением «.php». Вы можете расширить это, чтобы искать во всех подкаталогах текущего каталога, используя команду find :

find . -name "*.php" -exec grep do_something {} \;

Используйте 'man grep' и 'man find' из командной строки * nix, чтобы узнать больше.

Если вы работаете в Windows, я думаю, что команда find может делать подобные вещи, я не настолько знаком с ней, но основной синтаксис должен выглядеть примерно так:

find "do_something" *.php
3 голосов
/ 10 февраля 2012

Три способа сделать это:

  1. Использовать разумную структуру каталогов и дизайн приложения.Если вы следуете OOD и имеете четко выстроенную структуру каталогов, тогда будет очень легко найти объявление для любого класса и его методов.Если метод был объявлен в родительском классе, вы просто просматриваете дерево наследования.Если, OTOH, вы пишете код спагетти и используете тонны глобальных функций, ну ... у вас есть большие проблемы.

  2. Обратитесь к документации.Любое значительное приложение должно иметь хорошо документированный API, который должен включать как минимум список всех классов и их функций-членов и атрибутов.В документации API также должен быть указан файл, в котором определен каждый класс. Таким образом, быстрый поиск в API приведет к получению необходимой информации.

  3. Используйте интеллектуальную среду IDE, например Eclipse, котораяанализирует ваш код и определения классов.В Eclipse есть функция открытого объявления , которая открывает исходный файл, в котором был объявлен элемент, и отображает объявление.

Вы всегда должны делать первые два;последнее - просто удобство.

0 голосов
/ 10 февраля 2012

Adobe Dreamweaver имеет функцию поиска по всему сайту / каталогу, как и рабочая среда eclipse , UltraEdit и TopStyle Pro .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...