3 октября система WordPress.org SVN получила повышение версии до 7.2. Это изменение означает, что авторы плагинов теперь могут использовать более новый синтаксис PHP в плагинах, которые они отправляют в официальный каталог плагинов. В будущем максимум версии будет соответствовать тому, что работает на WordPress.org.
Это должно быть хорошей новостью для разработчиков плагинов, которые используют более новый синтаксис PHP. Ранее авторы могли отправлять код с использованием более новых функций PHP, если у них была проверка совместимости в том же файле. Однако новый синтаксис не был разрешен.
«Проблема заключалась в том, что Linter (зависший на 7.0) препятствовал тому, чтобы кто-либо проверял код через SVN, который использовал стандарты 7.1+», — сказала Мика Эпштейн из команды по обзору плагинов. «Таким образом, такие вещи, как оператор Spaceship, не будут выполняться при коммите, и вам скажут, что синтаксис неверен. Это сдерживало некоторые плагины от фиксации кода в каталоге ».
Эпштейн впервые открыла заявку на решение этой проблемы 13 месяцев назад, но сказала, что некоторое время спокойно просила исправить ситуацию.
Максимальная версия PHP нигде не указана в рекомендациях для плагинов . Технически, это ограничение SVN на WordPress.org, а не то, что выбрала команда плагинов. Однако, для авторов плагинов, они могут не знать о проблеме, пока их плагин не был отклонен системой. Затем они сообщат команде плагинов о проблеме. «Я могу положить что-то в документы, но это довольно необычное явление», — сказал Эпштейн.
Это стало проблемой для некоторых авторов плагинов с момента выхода PHP 7.1, то есть 1 декабря 2016 года. «Это был выпуск один раз в год, затем дважды, а затем — каждые пару месяцев», — сказал Эпштейн. «По состоянию на сентябрь, по крайней мере, один раз в месяц кто-то жаловался на плагины».
Одна потенциальная проблема с блокировкой более нового PHP-кода связана с плагинами, использующими сторонние библиотеки, которые могут иметь исправления безопасности только в более поздних версиях. Однако Эпштейн сказала, что ей не известно о каких-либо проблемах безопасности, связанных с ограничением версии.
Андрей «Rarst» Савченко указал в заявке, что «7.2 был выпущен почти два года назад». Хотя он говорит, что это улучшение по сравнению с предыдущим ограничением 7.0, версия 7.2 не должна быть жестким потолком для плагинов в хранилище.
PHP 7.3 был выпущен 16 декабря 2018 года, а PHP 7.4 будет выпущен 28 ноября 2019 года.
«Учитывая слабые кривые принятия PHP, — ответил Дион Халс, — все это означает, что вы не можете выпустить плагин через WordPress.org, который работает только на 15% сайтов WordPress. «Вы даже можете использовать более новые функции в PHP, если они содержат код для сравнения, но не новый синтаксис».
Автор плагина Джош Поллок назвал осведомленность к проблеме в Твиттере в феврале. «Несколько часов спустя я понижаю зависимость, потому что она требует другой зависимости, которая требует PHP 7.1».
«Я думаю, что нам повезло, и ошибок не было», — сказал Поллок о понижении до более ранней версии зависимости. «Я не думаю, что я использовал SVN с тех пор. Мне действительно повезло, что это больше не часть моей жизни ».
«Я согласен с Rarst», сказал Поллок. «Мы должны позволить PHP 7 и упростить плагины, чтобы они не поддерживали сайты в устаревших версиях PHP». Это отражает мнение других разработчиков, которые настаивают на том, чтобы WordPress принял более новые стандарты или, по крайней мере, позволил им сделать это. так в собственных плагинах в официальном каталоге.
Для большинства авторов плагинов это должно быть проблемой, если система SVN остается обновленной, чтобы соответствовать версии PHP, используемой в WordPress.og.
PHP 7.2 потеряет активную поддержку 30 ноября 2019 года и поддержку безопасности 30 ноября 2020 года.