Статистика версий PHP - выпуск 2023.2
Второй отчет в 2023 году об используемых версий PHP
Итак, приступим ко второй части статистики использования версий PHP в сообществе. Первую часть за 2023 год можно найти здесь, плюс дополнительно я также включу в этот пост и предыдущие данные за 2022 год.
Напоминаю, что я работаю только с доступными всем данными. Это означает, что эти диаграммы не являются 100% точным представлением сообщества PHP в целом, но они являются точным представлением одной из самых важных частей PHP: экосистемы Packagist.
Статистика использования
Давайте начнем с процента версий PHP, используемых сегодня, и сравним его с предыдущими тремя версиями, обратите внимание, что я пропустил все версии, которые не используются более чем на 1%:
Версия | январь 2022 | июль 2022 | январь 2023 | июль 2023 |
7.1 | 2,4% | 1,9% | 1,8% | 1,3% |
7.2 | 6,6% | 5,1% | 4,3% | 4,3% |
7.3 | 12,0% | 8,0% | 5,3% | 4,2% |
7.4 | 43,9% | 38,4% | 27,7% | 19,9% |
8,0 | 23,9% | 20,6% | 16,2% | 12,3% |
8.1 | 9,1% | 24,5% | 38,8% | 39,3% |
8.2 | 0,0% | 0,0% | 4,7% | 17,2% |
Визуализация этих данных выглядит так:
Важно знать, какие версии PHP в настоящее время все еще поддерживаются: PHP 8.2 и PHP 8.1 получают обновления. PHP 8.0 все еще получает обновления безопасности до конца ноября этого года. Это означает, что PHP 7.4 и более ранние версии больше не получают никаких обновлений и должны считаться устаревшими.
В общей сложности это около 30% загрузок Packagist устаревших и небезопасных версии PHP. В начале этого года этот показатель был близок к 40%, то есть мы наблюдаем неуклонный спад — это хорошо!
Переходя к обзорной диаграмме за все время, здесь вы можете увидеть эволюцию использования версий с течением времени:
Кажется, что PHP 8.1 продемонстрировал самый большой рост по сравнению с PHP 7.4 и PHP 5.5. Для сравнения, PHP 8.2 стартовал медленнее. Также интересно отметить относительно высокий процент PHP 8.1 два года подряд. Конечно, PHP 8.1 был довольно интересным выпуском с такими функциями, как перечисления и свойства только для чтения. Будет интересно посмотреть, как изменится этот график в следующем году, когда PHP 8.1 перейдет в режим только исправлений безопасности.
Требуемые версии
Далее если использовать анализатор популярных пакетов от Никиты, чтобы загрузить 1000 самых популярных пакетов Composer и просканировать эти пакеты, чтобы определить их минимальную требуемую версию, то получаться результаты:
Версия | январь 2022 | июль 2022 | январь 2023 | июль 2023 |
5.2 | 10 | 10 | 10 | 7 |
5.3 | 83 | 77 | 78 | 65 |
5.4 | 43 | 40 | 40 | 31 |
5,5 | 42 | 35 | 37 | 21 |
5.6 | 49 | 42 | 43 | 32 |
7,0 | 29 | 29 | 30 | 24 |
7.1 | 190 | 153 | 159 | 125 |
7.2 | 133 | 130 | 144 | 133 |
7.3 | 116 | 104 | 106 | 56 |
7.4 | 69 | 86 | 98 | 97 |
8,0 | 160 | 94 | 103 | 144 |
8.1 | - | 125 | 129 | 107 |
8.2 | - | - | - | 94 |
Здесь необходимо сделать два важных замечания.
- В этой таблице указана минимальная требуемая версия. Это означает, что пакеты с минимальной версией, например, 8.0, также могут поддерживать PHP 8.1 или PHP 8.2.
- Если вы посчитаете числа, вы заметите, что между каждым годом есть некоторые различия. Не в каждом пакете указана допустимая строка версии.
Вместо того, чтобы сравнивать абсолютные числа, лучше нанести эти данные на диаграмму для относительного сравнения, чтобы мы могли видеть изменения с течением времени:
Кажется, что в минимальных версиях PHP 8.0 и PHP 8.1 произошел довольно большой скачок - это хорошо. В конце концов, сообщество открытого исходного кода играет большую роль в продвижении сообщества вперед, увеличивая минимальную требуемую версию.
Что думаешь?