При разработке плагина есть ли способ автоматически определить минимальную версию WordPress, которая требуется для его запуска? Я хочу убедиться, что Requires
заголовок точен, но проверка вручную каждый раз, когда я вызываю новую базовую функцию, утомительна и подвержена ошибкам.
Я думаю, что сценарий может понять это достаточно легко:
- Сканирование всех файлов в плагине.
- Разбираем из всех инстанциацию класса и вызовы функций , основанные на
new foo( [...] )
,foo::bar( [...] )
,bar( [...] )
,call_user_func( [...] )
и т.д. синтаксис. - Разобрать исходный текст WP, чтобы определить, когда каждый из этих классов / функций был добавлен в WordPress, используя
@since
помощью тега phpDoc. - Создайте отчет, в котором перечислены все классы / функции и версия, в которую они были добавлены, а также самая ранняя версия WordPress, включающая все классы / функции.
Я оглянулся, но ничего подобного не нашел, и у меня нет времени, чтобы написать это самому. Кто-нибудь знает о существующем решении?
Ответы:
Я нашел решение в виде автоматизированного сервиса на http://wpseek.com/pluginfilecheck/
Это именно то, что было запрошено, включая создание списка используемых функций и предложение комментариев для заголовка плагина.
источник
Обновление: это больше не точно. Смотрите ответ Карстенбаха .
Что ж, похоже, ответ «Нет, для этого не существует решения».
Если кто-то хочет написать один, это может быть полезно:
Я думаю, что комментарий Марка о встраивании этой функции в репозиторий WordPress.org - это действительно хорошая идея, но, возможно, сообщество сначала должно создать его, чтобы доказать, что оно полезно, прежде чем основная команда рассмотрит возможность его добавления.
источник
Ну, это скорее отправной точкой, но это хороший список функций WP и версий они были добавлены / удалены здесь . К сожалению, он подходит только для WP 3.0.1, но если вы используете версию 3.0 в качестве базовой, это как минимум поможет - если его нет в списке, он был добавлен позже. Возможно, вы захотите написать Ozh по электронной почте и попросить его обновить список, и если кто-то из нас поймет, кто-то может создать плагин для проверки (например, обратная проверка устаревания) ).
ETA: Per @mrwweb - Список крючков Адама Брауна ! Текущий до 3.3 и идет вааааай обратно к 1.2.1, который никто в здравом уме больше не будет запускать (дата релиза 6 октября 2004 г.).
источник
Я думаю, что ответ лежит в устаревших уведомлениях - вы должны разрабатывать с WP_DEBUG true - независимо от того, отображаете ли вы их или регистрируете их, это ваш вызов, но WP сообщит вам, если вы используете устаревшую функцию.
Можно было бы проанализировать @since, как вы говорите, но инструменты могут занять вас только далеко - знакомство с базой кода и ручная проверка могут быть подходящим вариантом.
источник