Рекомендации по поиску определения функции в PHP - PullRequest
2 голосов
/ 29 марта 2009

Есть ли простой способ найти путь к файлу, где определена функция? В настоящее время я использую Dreamweavers FIND во всем каталоге. Было бы неплохо иметь что-то, что не требует загрузки всего сайта.

Есть предложения?

Ответы [ 6 ]

3 голосов
/ 29 марта 2009

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

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

2 голосов
/ 29 марта 2009

Было бы неплохо иметь что-то, что не требует загрузки всего сайта.

Надеюсь, это не значит, что вы изменяете сайт удаленно. Получите локальную рабочую копию, внесите изменения, протестируйте их локально, затем загрузите изменения.

Простая комбинация vim и ctags превращает задачу «перейти к определению» в кусок пирога.

1 голос
/ 10 декабря 2009

Вам понадобится какой-то инструмент, который может создать индекс на удаленной файловой системе, который вы сможете загружать и выполнять локальный поиск и поиск. Я не знаю ничего, что могло бы сделать это, и несколько мгновений с Google ничего не нашли.

Может быть, хорошая идея для проекта с открытым исходным кодом? hinthint

1 голос
/ 10 декабря 2009

Мне бы наверняка понравилась эта возможность get_functionPath (), и любой, кому экстенсивно приходилось работать над кодом других людей, вероятно, нашел бы ее невероятно полезной. У нас есть function_exists, если бы он мог просто вернуть файл, в котором определена функция для пользовательских функций, это спасло бы ТОНУ неприятностей. Нет, не все из нас используют IDE, и да, некоторые из нас делают это достаточно долго для написания кода на рабочей машине. Тестовые боксы и песочницы для новобранцев.

Одна хитрость - преднамеренно вызвать ошибку в функции, которую вы пытаетесь найти. Может сэкономить массу времени.

1 голос
/ 29 марта 2009

Вы не можете искать что-то (и ожидать, что найдете это), если у вас нет копии всех файлов, в которых это может быть.

Ряд IDE имеют возможность щелкать и переходить от использования переменной или функции к ее определению. Если нет, то может помочь инструмент поиска в нескольких файлах в вашем редакторе или что-то из командной строки (например, ack ), немного более специализированное в поиске исходного кода. Хорошие соглашения об именах также могут очень помочь для согласованности.

Вопрос не в этом, но почему у вас нет копии сайта локально - и пока вы работаете с ней, сохраняйте также и контроль версий?

0 голосов
/ 29 марта 2009

так нет функции, которая бы это делала? Что-то вроде get_class (), который выводит родительский класс, но в случае пути к файлу на сервере ...

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