Статистика версий PHP - выпуск 2022.2
Вторая ежегодная статистика 2022 используемых версий PHP от Packagist
Итак второй отчет по использованию версий PHP, про первую часть можно прочитать здесь.
Напоминаю, что вся статистика открыта и все диаграммы доступны любому пользователю по ссылке https://packagist.org/php-statistics .
Статистика использования
Начнем с процентной доли версий PHP, используемых сегодня, и сравним ее с двумя предыдущими версиями:
Версия | июль 2021 г. (%) | Январь 2022 г. (%) | июль 2022 г. (%) |
8.1 | 0.1 | 9.1 | 24.5 |
8.0 | 14.7 | 23.9 | 20.6 |
7.4 | 46.8 | 43.9 | 38.4 |
7.3 | 19.2 | 12.0 | 8.0 |
7.2 | 10.4 | 6.6 | 5.1 |
7.1 | 3.8 | 2.4 | 1.9 |
Можно заметить, что сюда не входят версии, использование которых не превышает 1%. Визуализация этих данных выглядит примерно так:
Как и ожидалось, в течение года PHP 8.1 растет, а использование PHP 8.0 уже снижается. Хороший знак - что разработчики обновляются! Имейте в виду, что PHP 8.0 будет активно поддерживаться еще четыре месяца. Так что, если вы еще не начали обновляться до PHP 8.1, сейчас самое время.
Но пока более 50% разработчиков все еще используют PHP 7.4 или ниже. Это немалое число, учитывая, что PHP 7.4 получает обновления безопасности еще 5 месяцев, а более старые версии просто больше не поддерживаются.
Переходя к обзорной диаграмме за все время, вы можете увидеть эволюцию использования версий с течением времени:
Интересно сравнить пик 5.5 в 2014 году с пиком 7.4 два года назад. PHP 5.5 и последующие версии испытали гораздо более быстрый спад, как только PHP 7.0 стал доступен, по сравнению с PHP 7.4, когда был выпущен PHP 8.0. Немного странно, что PHP 8.0 не был таким захватывающим, как PHP 7.0.
В наши дни страх перед обновлением не должен быть препятствием по сравнению с тем, что было восемь лет назад: теперь у нас есть зрелые инструменты, такие как Rector и PHP CS, которые позаботятся о почти всем пути обновления за вас.
Так почему же люди не обновляются до PHP 8.0? Почему больше людей остаются с PHP 7.4 по сравнению с 5.5 и 5.6 днями? Окончательного ответа нет.
Требуемые версии
Итак посмотрим на другую метрику - минимальная требуемая версия пакетов. Если использовать анализатор популярных пакетов Никиты Попова, чтобы загрузить 1000 самых популярных пакетов, и написать небольшой скрипт, чтобы получить самую низкую версию, которую они поддерживают, из их файлов composer.json, то получатся такие данные:
Версия | июль 2021 г. | январь 2022 г. | июль 2022 г. |
PHP 8.1 | - | - | 125 |
PHP 8.0 | 117 | 160 | 94 |
PHP 7.4 | 56 | 69 | 86 |
PHP 7.3 | 133 | 116 | 104 |
PHP 7.4 | 142 | 133 | 130 |
PHP 7.1 | 182 | 190 | 153 |
PHP 7.0 | 31 | 29 | 29 |
PHP 5.6 | 61 | 49 | 42 |
PHP 5.5 | 43 | 42 | 35 |
PHP 5.4 | 41 | 43 | 40 |
PHP 5.3 | 97 | 83 | 77 |
PHP 5.2 | 12 | 10 | 10 |
PHP 5.0 | 2 | 2 | 1 |
Интересная получается картина, с одной стороны, приятно видеть PHP 8.1 как минимальную требуемую версию для 125 пакетов. Однако посмотрите, сколько пакетов по-прежнему требуют версии ниже PHP 8.0: 707 из 926 проанализированных пакетов. Это более 75%!
Да, в качестве примечания: существует всего 926 пакетов, потому что для некоторых из 1000 самых популярных пакетов не требуется версия PHP.
Нанесем эти данные на график:
Ну Вы то уже используете PHP 8.1?)
Что думаешь?