В течение многих лет 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 предоставит не только лучший в своем классе пользовательский интерфейс, но и лучший в своем классе интерфейс для разработчиков.