В течение многих лет WordPress очень немного отставал от времени в поддержке версии PHP… мягко говоря.
Тем не менее, легендарная поддержка WordPress версий PHP до 5.2 – версий, которые давно не поддерживаются самим проектом PHP – не была рождена стратегией «мы ненавидим разработчиков» (хотя вас простят за то, что вы так думали, учитывая реакцию этой политики часто достается от разработчиков). Напротив, это было поистине благородным и прагматичным усилием сделать WordPress и, следовательно, публикацию в Интернете, как можно более широко доступной.
Несмотря на реакцию многих разработчиков (и системных администраторов, заботящихся о безопасности), эта стратегия сработала: WordPress поддерживает более 30% Интернета , и значительная часть этих установок находится на неподдерживаемых версиях PHP . Для этих пользователей дело не в том, что им все равно, что они используют неподдерживаемую версию PHP; они просто не знают или не знают, как решить проблему.
Но ветры прогресса дуют, и в 2019 году WordPress планирует внести изменения. Если все пойдет по плану, PHP 5.6 станет минимально поддерживаемой версией в первой половине года, а минимальная версия будет снова переведена на PHP 7 во второй половине 2019 года.
Здесь есть очевидные преимущества с точки зрения безопасности. Самые старые версии PHP, поддерживаемые WordPress сегодня, перестали получать официальные обновления безопасности давным-давно (PHP 5.2 вышел из строя почти 8 лет назад). Улучшение скорости также будет огромным, особенно в PHP 7. Исходя из моего собственного опыта, у меня есть несколько сайтов, которым когда-то требовалось агрессивное кеширование для предотвращения перегрузки сервера. Начиная с PHP 7, они работают быстрее, чем когда-либо, без какого-либо кеширования.
Скорость и безопасность – две наиболее часто упоминаемые (и наиболее измеримые) причины отказа от минимальной версии, но есть и другие, менее ощутимые преимущества, которые будут выходить далеко за рамки разработки ядра WordPress.
Хотя разработчики плагинов никогда не были обязаны поддерживать все версии PHP, которые поддерживает ядро WordPress, многие по-прежнему предпочитают это делать. Это понятно: может быть сложно объяснить пользователю, почему он может установить WordPress в определенной среде разработки, но не может установить определенный плагин.
Для плагинов, которые пытались соответствовать поддержке обратной совместимости ядра, это означает тестирование и поддержку до девяти версий PHP: с 5.2 по 5.6 и с 7.0 по 7.3. (Не было PHP 6. Я не буду утруждать себя объяснением скучных причин почему .)
Путем перехода на 5.6 и, в конечном итоге, на какую-то версию PHP 7+, это вдвое сокращает количество версий, которые разработчики будут вынуждены поддерживать. В некотором роде Core, вероятно, продолжит поддерживать эти старые версии (например, через резервные копии безопасности для старых версий WordPress), но разработчики плагинов могут быть уверены, что им это не нужно – и им не нужно чувствовать какое-либо подобие чувство вины за это тоже.
Даже разработчики, которым нравится платформа WordPress в целом, вероятно, признают, что это, возможно, не самая захватывающая кодовая база в мире. За последние несколько лет я видел ряд примеров разработчиков, которые когда-то ограничивались WordPress, а теперь перешли на другие фреймворки и языки: Laravel, JavaScript и Go – все это популярные новые дома для экспатов WordPress.
Повышение минимальной версии не изменит эту апатию или исход в мгновение ока, но даст разработчикам повод для волнения. Современные версии PHP (особенно PHP 7) предлагают по-настоящему интересные новые языковые функции, которые позволяют легко писать производительный, хорошо продуманный и интересный код. Я бы даже сказал, что это забавно. Современный PHP содержит много синтаксического сахара , и, хотя вы не должны основывать свою диету на сахаре, он, безусловно, является приятным удовольствием.
Опять же, маловероятно, что ядро начнет использовать эти новые языковые функции в первый же день. Настоящая выгода состоит в том, что разработчики будут чувствовать себя уполномоченными и защищенными в своих решениях начать использовать эти новые возможности и начнут создавать плагины и темы, которые могут заимствовать идеи из лучших практик более широкого сообщества PHP.
Хотя измеримые обоснования для изменения минимальной версии PHP, безусловно, убедительны, я думаю, что также важно признать эти нематериальные активы и действительно отметить их. Использование этих версий создаст волновой эффект в экосистеме, что позволит разработчикам более комфортно писать современный код. Это снизит нагрузку на поддержку и контроль качества для компаний, которым больше не нужно поддерживать 9 различных версий PHP. Это сделает ядро WordPress более привлекательным местом для внесения вклада.
Гутенберг и все современные инструменты и архитектура, которые он привнес, уже вдохновили разработчиков всей экосистемы и принесли огромное количество новых основных участников. Освоение современного PHP – это еще один шаг вперед, и с учетом других изменений на горизонте (таких как переход от SVN к Git , изменения стандартов кодирования и такие проекты, как Tide, которые охватывают новые языки и архитектуры), я надеюсь, что 2019 год станет годом, когда WordPress предоставит не только лучший в своем классе пользовательский интерфейс, но и лучший в своем классе интерфейс для разработчиков.
Поскольку до крайнего срока соблюдения GDPR ЕС осталось всего 178 дней , многие владельцы сайтов…
Команда Gutenberg создаст станцию тестирования удобства использования в WordCamp US, где посетители смогут принять участие…
Сегодня компания 10up опубликовала предварительную версию своего плагина Distributor , нового решения для синдикации контента…
На этой неделе был выпущен Gutenberg 1.8 с несколькими заметными улучшениями, которые предоставят разработчикам плагинов…
На этой неделе был выпущен Gutenberg 15.5 с новыми функциями и улучшениями возможностей полнофункционального редактирования…
DesktopServer выпустил версию 3.8.4 своего программного обеспечения для локальной разработки. Эта версия включает в себя…