Каждые шесть месяцев 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
Развитие в использовании различных версий PHP

Еще один момент, на который нужно обратить внимание в этот раз, - это сравнить рост популярности каждой версии 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 выше или ниже, тем более что в нем есть несколько очень приятных функций (например, перехватчики свойств).

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

Развитие версий PHP за все время
Развитие версий PHP за все время

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

Затем был использован популярный анализатор пакетов 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

Здесь следует сделать два важных замечания.

  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.

Еще больше статей, юмора и жизненны моментов в Пихта DEV

Комментарии (4)


  1. DennisP
    09.07.2024 13:38
    +2

    Часто имеет значение не минимальная, а максимальная версия PHP, с которой может работать та или иная библиотека.


    1. mepihin Автор
      09.07.2024 13:38

      Поддживаю, но, как я понимаю, здесь идет больше посыл "как быстро уйдут старые версии из обихода". Ведь тот же гос сектор работает на сторгих сертификатах, где версия php существенно отстает от современных. В моей текущей компании (коммерческая) буквально пару недель назад обновили до 8.3. Здесь же уже другой принцип по версионности языка.

      А вообще, я лично считаю, что минимальная версия сейчас должна быть 8.0. Это позволяет без проблем обновляться дальше и юзать крутые новые фичи php.


      1. DennisP
        09.07.2024 13:38

        Так старые версии PHP не уйдут, пока будет необходимость использовать код, который не работает на более новых.


  1. koreychenko
    09.07.2024 13:38
    +1

    Ну, разница в скорости роста популярности довольна очевидная.

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

    Переезд с 7 на 8 такого прироста в скорости уже не давал, синтаксические плюшки, которые подвезли в восьмерке являются просто сахаром и без них можно обойтись в дальнейшей разработке. При этом можно было получить геморроя на ровном месте из-за того, что php 8 стал более строгим языком (наконец-то).

    Поэтому если у тебя есть старый проект, то обновлять его на новую версию PHP смысла особо и не имеет.