стоит ли изучать PHP в 2021 году
Если вы новичок в веб-программировании, возможно стоите на распутье и сомневаетесь куда двигаться дальше, то вам определенно стоит почитать этот пост
Так же, как в 2020 и 2019 годах подведем итоги о том, стоит ли изучать PHP в 2021 году.
Как я говорил в предыдущих постах: PHP уже не тот язык, которым был десять лет назад, и мы все очень благодарны за это. Это достаточно быстрый и надежный язык, используемый для создания масштабных приложений. Итак, давайте обсудим некоторые из наиболее заметных изменений PHP за последний год для языка и сообщества.
Новая основная версия PHP 8 появилась в конце прошлого года. Я много писал постов по этой теме, и не буду повторять все это здесь. В принципе все как обычно, производительность только улучшается, и тесты это доказывают.
Есть JIT, который, улучшает производительность некоторых проектов, а также предварительная загрузка, которая имеет в целом положительное влияние, если вы не используете shared хостинг.
Я думаю, что такой функционал, как атрибуты (также известные как «аннотации»), именованные аргументы и объявляемые свойства в конструкторе также заслуживают упоминания, поскольку они определенно способствовали тому, что PHP 8 стал таким замечательным выпуском.
Тем временем основная команда уже работает над следующей версией PHP 8.1, которая будет выпущена где-то к концу 2021 года. На данный момент наиболее важными функциями являются перечисления (Enum) и файберы (Fiber).
Год за годом основной команде удается представить сообществу новый стабильный выпуск, наполненный множеством функций и качественных улучшений. Путь обновления также не так уж и сложен. Я уже обновил некоторые из моих собственных проектов с PHP 7.4 до PHP 8, и это заняло от 30 до 60 минут на проект. На самом деле нет никаких веских причин оставаться на старых версиях!
Когда дело доходит до типов, есть очень интересные новости: перечисления будут добавлены в PHP 8.1 . Вдобавок к этому мы также видели, как некоторые разработчики инструментов статического анализа внесли свой вклад в исходный код PHP, разместив свой первый RFC. Это добавляет тип возврата - never, полезное дополнение для статического анализа.
Говоря об инструментах статического анализа, PhpStorm добавил встроенную поддержку Psalm и PhpStan , что является большим шагом на пути к более широкому применению.
К сожалению, дженерики по-прежнему не поддерживаются. Есть несколько серьезных препятствий этому, особенно с учетом того, что мы все еще имеем дело с языком с динамической типизацией. О возникших проблемах Никита Попов написал здесь. А вот, например, автор блога stitcher.io Брент описал подход, который был бы простым выходом: поддерживать дженерики, не во время выполнения, а полагаться на статический анализ. Это так же потребует изменения мышления в сообществе PHP в целом. Может быть, однажды это станет жизнеспособным вариантом, но пока что нет.
Буквально недавно были большие новости: PHP получает корутины, также известные как "зеленые потоки" - в PHP 8.1! Хотя файберы - так их называют - могут не так уж и сильно изменить правила игры, как кажется на первый взгляд .
Несмотря на то, что сами файберы могут быть лишь маленькой шестеренкой в том, что является большой асинхронной машиной, RFC снова вызвал интерес в асинхронном сообществе, чему мы можем только радоваться. Популярность асинхронных фреймворков, таких как Amphp и ReactPHP, растет, и недавно тот же Laravel объявил о встроенной поддержке Swoole и RoadRunner.
Ну и конечно же, нельзя не упомянуть о новом выпуске Composer, де-факто стандартный менеджер пакетов. В октябре 2020 года вышел новый основной выпуск: Composer 2.0 . Эта версия поставляется с несколькими улучшениями UX, но, что наиболее важно, в ней значительно улучшена производительность, иногда даже утроенная при чистой установке. И это очень заметно на боевых проектах. Если вы до сих пор не обновились, советую не тянуть, прирост скорости работы оооочень заметен.
Говоря о композере, мне нравится измерять текущее состояние экосистемы PHP, просматривая доступные пакеты с течением времени. В прошлом году я говорил о ±25 миллионах загрузок в день, сегодня это число увеличилось более чем вдвое, и мы уже видим ±60 миллионов загрузок в день.
Наконец, взгляните на этот график, в котором показано количество пакетов и версий с течением времени. Его также можно найти на сайте Packagist.com . Вы можете ясно видеть, как растет здоровая экосистема, и конца этому не видно.
Давайте закончим напоминанием обо всем, что было добавлено в PHP за последние годы. Если вы не следите за его развитием, вам действительно стоит изучить этот список. Я думаю, что это показывает рост сообщества и основной команды разработчиков за последние годы, и я уверен, что это еще не все.
Веб-разработчик со стажем программирования более 10 лет, всегда в процессе учебы и созидания.