Каждые шесть месяцев stitcher.io обновляет информацию о том, какие версии PHP используются в сообществе.
Имейте в виду, что берутся открытые данными. Это означает, что эти диаграммы не являются на 100% точным представлением сообщества PHP в целом, но они точно отражают одну из наиболее важных частей PHP: экосистему packagist.
Статистика использования
Начнем с анализа процента используемых сегодня версий PHP, обратите внимание, что были исключены все версии, которые используются не более чем на 1%:
Версия | 2023-01 | 2023-07 | 2024-01 | 2024-07 |
7.2 | 4.3% | 4.3% | 2.5% | 2.0% |
7.3 | 5.3% | 4.2% | 3.2% | 1.9% |
7.4 | 27.7% | 19.9% | 13.6% | 10.2% |
8.0 | 16.2% | 12.3% | 7.2% | 5.4% |
8.1 | 38.8% | 39.3% | 35.2% | 26.1% |
8.2 | 4.7% | 17.2% | 29.4% | 32.3% |
8.3 | 0.0% | 0.2% | 6.4% | 19.9% |
Визуализация этих данных выглядит следующим образом:
Еще один момент, на который нужно обратить внимание в этот раз, - это сравнить рост популярности каждой версии PHP за первые полгода после ее выпуска.
Версия | Рост популярность за 6 месяцев |
7.0 | 19.0% |
7.1 | 16.2% |
7.2 | 12.4% |
7.3 | 19.8% |
7.4 | 17.1% |
8.0 | 9.2% |
8.1 | 15.4% |
8.2 | 12.5% |
8.3 | 13.5% |
Что интересно, так это то, что версии PHP 7, похоже, получили более быстрое распространение по сравнению с версиями PHP 8... Интересно, будет ли скорость внедрения PHP 8.4 выше или ниже, тем более что в нем есть несколько очень приятных функций (например, перехватчики свойств).
Давайте еще раз посмотрим на эволюцию версий с течением времени, вы также можете заметить замедление темпов внедрения на этом графике:
Требуемые версии
Затем был использован популярный анализатор пакетов Nikita для загрузки 1000 самых популярных пакетов composer. Используется скрипт, который сканирует эти пакеты, чтобы определить их минимальную требуемую версию. Вот результаты:
Версия | 2023-01 | 2023-07 | 2024-01 | 2024-07 |
5.2 | 10 | 7 | 7 | 5 |
5.3 | 78 | 65 | 58 | 50 |
5.4 | 40 | 31 | 28 | 26 |
5.5 | 37 | 21 | 16 | 15 |
5.6 | 43 | 32 | 30 | 29 |
7.0 | 30 | 24 | 24 | 24 |
7.1 | 159 | 125 | 100 | 93 |
7.2 | 144 | 133 | 123 | 118 |
7.3 | 106 | 56 | 49 | 42 |
7.4 | 98 | 97 | 87 | 80 |
8.0 | 103 | 144 | 126 | 123 |
8.1 | 129 | 107 | 154 | 184 |
8.2 | - | 94 | 135 | 153 |
8.3 | - | - | 0 | 4 |
Здесь следует сделать два важных замечания.
В этой таблице указана минимальная требуемая версия. Это означает, что пакеты с минимальной версией, например, 8.0, могут также поддерживать PHP 8.1, PHP 8.2 и PHP 8.3.
Если вы посчитаете цифры, то заметите, что в каждом году есть некоторые различия. Не в каждом пакете указана допустимая строка версии.
Вместо сравнения абсолютных значений лучше всего представить эти данные в виде диаграммы для относительного сравнения, чтобы мы могли видеть изменения с течением времени:
В этом месяце мы видим, что для первых четырех пакетов в качестве минимальной версии используется PHP 8.3, однако есть огромная разница по сравнению с PHP 8.2 и PHP 8.1, в которых в качестве минимальной версии использовались 94 и 125 пакетов соответственно. Конечно, PHP 8.3 был довольно скучным релизом, к тому же с большим количеством устаревших версий, но не было очевидным, что разница будет такой большой. Посмотрим, как и продолжится ли эта тенденция в следующем году с PHP 8.4.
Еще больше статей, юмора и жизненны моментов во ВКонтакте Пихта DEV и Телеграмм канале Пихта DEV