В понедельник основной участник WordPress Джонатан Десрозье опубликовал подробный пост в блоге Make WordPress Core о предстоящем выпуске PHP 8 и его влиянии на WordPress.
Запланированный к выпуску 26 ноября 2020 года PHP 8 – следующее крупное обновление нашего любимого языка сценариев. Хотя предыдущие выпуски PHP не оказали слишком большого негативного влияния на экосистему WordPress, это обновление содержит некоторые критические изменения, которые могут повлиять на обратную совместимость. Также следует отметить, что многие функции, которые были объявлены устаревшими в PHP 7.x, теперь будут удалены в PHP 8.
В своем посте Дерозье освещает работу, проделанную для обновления основного программного обеспечения. «WordPress Core стремится быть совместимым с PHP 8.0 в версии 5.6 (в настоящее время запланированной на 8 декабря 2020 г.)», – написал он.
Однако это не означает, что после выпуска WordPress 5.6 безопасно перейти на PHP 8. WordPress редко запускается сам по себе и обычно использует по крайней мере одну тему и набор плагинов для работы в качестве блога или веб-сайта. По сути, он отмечает: «Состояние поддержки PHP 8 в более широкой экосистеме (плагины, темы и т. д.) Невозможно узнать. По этой причине WordPress 5.6 следует считать «бета-совместимой» с PHP 8 . «
По сути, это означает, что до тех пор, пока большинство основных тем и плагинов не будут совместимы с PHP 8, WordPress не может считаться полностью совместимым.
Такие компании, как Yoast, уже некоторое время готовятся к этому. В конце октября технический директор Yoast Омар Рейсс вместе с другими участниками Джульеттой Рейндерс Фолмер , разработчиком программы сниффов стандартов кодирования WordPress для PHPCS , и менеджером Yoast DevOps Херре Гроеном составили и опубликовали подробный отчет о совместимости WordPress / PHP 8 .
Хотя я настоятельно рекомендую вам найти время, чтобы прочитать весь отчет, в нем изложена основная причина, по которой обновление PHP 8 может оказать такое сильное влияние на крупные сайты WordPress, особенно на экосистему плагинов и тем.
«Однако версии PHP 7. * претерпели гораздо больший набор устаревших рекомендаций, чем предыдущие версии PHP. Если переход с PHP 5.6 на PHP 7 был относительно простым, то переход с 7.x на PHP 7 мог быть очень болезненным, особенно для очень старых кодовых баз, таких как WordPress и многие из доступных для него плагинов. Для хорошо типизированных кодовых баз или кодовых баз, которые оставались актуальными с последними версиями PHP, нет большой проблемы ».
Поскольку я сопровождаю несколько плагинов, некоторые из которых построены на восьмилетнем коде, меня беспокоит, что это обновление может привести к поломке сайтов.
Я спросил Рейсса и Фолмера, что разработчики плагинов и тем могут сделать, чтобы подготовиться, и они поделились некоторыми указателями.
Прежде всего, разработчики должны проинформировать себя об изменениях, которые появятся в PHP 8: прочтите публикацию Make о PHP 8 , прочтите отчет о совместимости Yoast PHP8 , прочтите раздел « Переход с PHP 7.4 на PHP 8.0 » руководства по PHP и, возможно, копайте глубже, прочитав документ UPGRADING в ветке PHP 8 и RFC для PHP 8 .
Некоторые доступные инструменты можно использовать для поиска несовместимости:
php -l
команды (обязательно перебирая все файлы), либо с помощью PHP Parallel Lint .develop
ветку или через Composer dev-develop
для пока не будет выпущена версия 10.0.0.Как Дерозье указал в публикации Make, WordPress официально стремится быть готовым к PHP 8 только к моменту выпуска 5.6 в начале декабря. Потенциально это означает, что многие хостинговые компании, ориентированные на WordPress, будут рассматривать возможность предложения обновлений своим клиентам только после того, как ядро WordPress станет совместимым. У нас, как у разработчиков плагинов и тем, есть время, чтобы протестировать наши продукты и подготовить их, но это окно быстро закрывается.
К счастью для нас, знания и инструменты для обновления доступны. Нам просто нужно привести их в действие.
Поскольку до крайнего срока соблюдения GDPR ЕС осталось всего 178 дней , многие владельцы сайтов…
Команда Gutenberg создаст станцию тестирования удобства использования в WordCamp US, где посетители смогут принять участие…
Сегодня компания 10up опубликовала предварительную версию своего плагина Distributor , нового решения для синдикации контента…
На этой неделе был выпущен Gutenberg 1.8 с несколькими заметными улучшениями, которые предоставят разработчикам плагинов…
На этой неделе был выпущен Gutenberg 15.5 с новыми функциями и улучшениями возможностей полнофункционального редактирования…
DesktopServer выпустил версию 3.8.4 своего программного обеспечения для локальной разработки. Эта версия включает в себя…