Статистика версий PHP: Июль, 2024

Источник: «PHP version stats: July, 2024»
Использование PHP в июле 2024 года. Каждые полгода я публикую обновлённую информацию о том, какие версии PHP используются в сообществе.

Предыдущую публикацию можно прочитать здесь, исторические данные будут включены в эту статью.

Не забывайте, что я работаю с имеющимися данными. Это означает, что эти диаграммы не являются на 100% точным представлением сообщества PHP в целом, но они точно отражают одну из наиболее заметных частей PHP — экосистему packagist.

Статистика использования

Как обычно, для начала посмотрим на процентное соотношение версий PHP, используемых сегодня. Обратите внимание, что я опустил все версии, используемые не более чем на 1%:

Версия2023-012023-072024-012024-07
7.24.3%4.3%2.5%2.0%
7.35.3%4.2%3.2%1.9%
7.427.7%19.9%13.6%10.2%
8.016.2%12.3%7.2%5.4%
8.138.8%39.3%35.2%26.1%
8.24.7%17.2%29.4%32.3%
8.30.0%0.2%6.4%19.9%

Визуализация этих данных выглядит так:

Эволюция использования версий PHP
Эволюция использования версий PHP

Дополнительной точкой отсчёта, которую хотелось бы рассмотреть в этот раз, является сравнение роста каждой версии PHP в первые полгода после её релиза.

ВерсияПоказатель внедрения за 6 месяцев
7.019.0%
7.116.2%
7.212.4%
7.319.8%
7.417.1%
8.09.2%
8.115.4%
8.212.5%
8.313.5%

Интересно, что версии PHP 7.*, похоже, быстрее прижились, чем версии PHP 8.*. С личной точки зрения, также не ощущаю необходимости немедленно обновляться до новых версий PHP, тем более что за последние два года они предложили не так много интересных фич. Интересно, будет ли скорость принятия PHP 8.4 выше или ниже, тем более что в нем есть несколько очень хороших фич (например, property hooks).

Давайте ещё раз посмотрим на эволюцию версий во времени: на этом графике можно заметить замедление темпов внедрения:

Эволюция во времени
Эволюция во времени

Требуемые версии

Далее я воспользовался анализатором популярных пакетов Никиты, чтобы загрузить 1000 самых популярных пакетов композитора. Использовался скрипт, сканирующий эти пакеты для определения минимально необходимой версии PHP. Вот результаты:

Версия2023-012023-072024-012024-07
5.210775
5.378655850
5.440312826
5.537211615
5.643323029
7.030242424
7.115912510093
7.2144133123118
7.3106564942
7.498978780
8.0103144126123
8.1129107154184
8.294135153
8.304

Необходимо сделать два важных замечания.

  1. В данной таблице указана минимальная требуемая версия. Это означает, что пакеты с минимальной версией, например, 8.0, могут также поддерживать PHP 8.1, PHP 8.2 и PHP 8.3.
  2. Если вы посчитаете цифры, то заметите, что между каждым годом есть отличия. Не в каждом пакете указана корректная строка версии.

Вместо сравнения абсолютных цифр лучше построить график с относительными данными, чтобы увидеть изменения с течением времени:

Минимальная требуемая версия PHP с течением времени
Минимальная требуемая версия PHP с течением времени

Мы видим первые четыре пакета, требующие PHP 8.3 в качестве минимальной версии в этом месяце, однако это огромная разница по сравнению с PHP 8.2 и PHP 8.1, в которых 94 и 125 пакетов использовали их в качестве минимальной версии соответственно. Конечно, PHP 8.3 был довольно скучным релизом, с большим количеством исправлений, но я не ожидал, что разница будет такой большой. Посмотрим, продолжится ли эта тенденция в следующем году с выходом PHP 8.4.

Ещё раз хочу напомнить авторам открытого кода об ответственности, которая лежит на нас за продвижение экосистемы PHP вперёд. Повышение минимальных требований — это хорошее дело, и, на мой взгляд, его следует делать чаще и быстрее.

Дополнительные материалы

Предыдущая Статья

Магические константы в PHP

Следующая Статья

Основы каскада и специфичности