Как создать список всех встроенных функций PHP, которые использует проект?

Предпосылки: PHP позволяет провайдерам отключать функции (директива «disable_functions»). Поэтому, чтобы узнать, работает ли ваш проект на определенном сервере, вам нужно будет проверить:

  1. Какая встроенная функция (= исключая определенные пользователем) – это используемый вами проект?
  2. Доступны ли функции на конкретном хосте?

(Вопрос (2) является тривиальной петлей над результатом (1) с function_exists .)

Чтобы получить работу по сбору урожая (= в основном полный набор встроенных функций, используемых на серверах разработки), можно создать список функций с get_loaded_extensions() , get_extension_funcs() и get_defined_functions() (и получить доступ к «внутреннему») массив для встроенных функций).

Теперь вопрос: как бы вы извлекали / grep встроенные функции PHP, используемые в проекте, из ваших (возможно, сотен) исходных файлов?

Это может быть хорошая работа PERL или что-то подобное. Как бы вы это сделали?

PHP-токенизатор – именно token_get_all () – вероятно, самый надежный инструмент для этого, поскольку он использует тот же механизм синтаксического анализа, который делает сам интерпретатор PHP.

Если вы ищете решение на основе Perl, phpxref имеет функцию, чтобы рассказать все используемые встроенные функции: Случайный пример здесь .