- PVSM.RU - https://www.pvsm.ru -

В декабре прошел второй ежегодный опрос русскоязычного PHP-сообщества. Ответов удалось собрать в два раза больше, чем годом ранее — три тысячи. Конечно, снова спросили у ребят про статьи и видео, которые запомнились за год.
Ссылку на опрос помогли распространить городские чаты и админы крупных PHP-каналов, деврелы компаний, где в стеке есть PHP, конференция PHP Russia, сайт phpcommunity.ru [1]. Вот полный список [2] классных ребят и компаний, которые помогли исследованию сбыться.
Еще пара полезных ссылок на старте.
Подробнее [3] про результаты опроса за 2021 и сравнение с 2020.
А здесь 80+ видео и статей [4]за 2020 — в подборке, подготовленной @spasibo_kep [5]
Поехали.
Рекордсмен по упоминаниям — стрим про релиз PHP 8.1, запуск PHP Foundation и истории переезда на 8.0 — на каналах PHP Point [6] и Skyeng [7]. А прямо во время эфира появилась новость, что версия 8.1 официально релизнута.
JIT в PHP 8: Просто о сложном [8] — что это такое, как включить, как настроить и какую пользу JIT принесет. В тему JIT в PHP 8 также вспоминали доклад [9] Дмитрия Стогова.
Стрим про трейты [10] — зло ли или можно использовать. Все решили 4 раунда кейсов. Лайв прошел в декабре 2020, но сообщество вспоминает до сих пор.
НЕ ООП ЕДИНЫ! Domain Driven Design на примере холодильника [11] — как работают луковичные архитектуры, что такое доменные модели, агрегаты и всё вот это вот из DDD — да, на примере холодильника.
Стрим к выходу PHP-8 на каналах PHP Russia [12], Skyeng [13] и PHP Point [14]. Доклад «PHP 8: userland», дискуссия о том, куда идет язык и Q&A с core-разработчиками — Никитой Поповым и Дмитрием Стоговым.
* Видео с PHP Russia 2021 — артефакты с конференции в виде записей будут выложены в открытый доступ ближе к следующей конференции. Но вспоминали доклады часто. Например, рассказ Валентина Удальцова про Thesis [15] и доклад [16] Сергея Жука про легаси.
Пару записей докладов уже можно найти в хабраблоге конференции: в статье про сетевой обмен [17] в PHP-микросервисах и версионирование API [18].
Открытое собеседование PHP Point #1 [19] — Валентин Удальцов vs Патрик Фельдеш.
PHP и Laravel дайджест [20] — совместный формат каналов CutCode и PHP Point. Вспоминали выпуски за ноябрь [20] и декабрь [21].
Как регистрировать и тестировать shutdown функции [22] — Валентин Удальцов про деструкторы, регистрацию и тестирование shutdown функций, а также различные нюансы вокруг замыканий и уборки мусора в PHP.
PHP8: новые фишки. Готовимся к Laravel 9 [23] — CutCode о фичах PHP 8, сделавших разработку удобнее: выражение match, null-safe operator и не только.
PHP-программист: публичное собеседование [24] — в эфире Кирилл Мокевнин и Виктория Музычук. Другие открытые собеседования по PHP можно найти на канале Хекслет [24].
Как писать хороший код на PHP [25] — интервью с Senior PHP разработчиком и экс-разработчиком компании viber Валерием Селицким.
Принцип подстановки Барбары Лисков геометрическая интерпретация [26] — разбор принципа в лайв-формате. Идея видео зародилась после прочтения статьи [27].
Как стать PHP-разработчиком с нуля [28] — интервью с Кириллом Несмеяновым.
Поиск и устранение утечек памяти в PHP [29] — обзор утечек памяти в PHP и инструментов для их контроля и фикса от Валентина Удальцова.
Drupal Warmer: автоматизируем прогрев кеша [30] — о модуле Warmer, который позволяет прогревать кеш на сайте в автоматическом режиме.
PHP — зачем его учить, что на нем пишут, зарплаты, фреймворки [31] — фреймворки, статистика использования языка, анализ рынка.
PHP NN #4: для поклонников Symfony и сочувствующих [32] — запись нижегородского митапа с докладами Валентина Удальцова и Дениса Юрьева.
Распределенные Workflow на PHP Фреймворки и библиотеки [33] — доклад Антона Титова на PHP fwdays'21 о системах оркестрации, интеграции Temporal с RoadRunner и миром PHP, а также об обработке ошибок в распределенных приложениях.
Грамотное ООП: организация надёжной бизнес-логики [34] — доклад Дмитрия Елисеева с конференции PHP Russia 2019: о проектировании сущностей по обязанностям с помощью объектно-ориентированной декомпозиции. Учимся сочинять ко всему этому быстрые, удобные и надежные юнит-тесты.
Как 200 строк на Go помогли нам освободить 15 серверов [35] – доклад Павла Мурзакова из Badoo с митапа Авито аж за 2017 год.
Модульный PHP монолит как альтернатива микросервисной архитектуре [36] — доклад Юлии Николаевой с митапа iSpring, который прошел в декабре 2019, впоминают в опросе второй год.
PHP in 100 Seconds [37] — экспресс погружение в историю языка.
Laravel Diary: Faster Eloquent: Avoid Accessors with Foreach [41].
Dependency Injection Container With & Without Reflection API Autowiring - Full PHP 8 Tutorial [42].
Самые заметные изменения языка php за последние годы [44] — разбор интересных изменений с 5 по 8.1 версии языка от @zm_llill [45].
PHP дайджесты [46] @pronskiy [47] — вспоминали разные выпуски. Сразу несколько человек сбросили ссылку на июньский [48] про альфу PHP 8.1 и обзор предложений к версии, релиз Symfony 5.3 и не только.
Версионирование API или единая кодовая база для всех версий [18] — решения проблемы версионирования web-API от ребят из SuperJob и @SamDark [49]. Есть видео доклада [50].
php8.1 доступен! [51] — эту ссылку с официального сайта видели все :) Ключевые апдейты версии.
Потрясающее будущее PHP-стека для карьеры [52] — @hatman [53] поделился видением пути PHP. Бонус — в конце статьи 600+ мнений, ждет ли язык светлое будущее.

Способы внедрения зависимостей [54]: сравнение подходов, плюсы-минусы и что использоваться в разных ситуациях — в статье Дмитрия Елисеева.
История разработки фасетного поиска средствами PHP [55] — @coh [56] исследовал возможности языка. Спойлер: пришлось даже написать порт на GoLang.
Строим эффективный сетевой обмен в PHP-микросервисах [17] — рассказ @MMgo [57] о том, как в Авито оптимизировали сетевые вызовы, по докладу [58] с PHP Russia 2021.
Как ManyChat на PHP8 переезжал [59] — хронология двух месяцев переезда: от исследования до результатов.
Модульный PHP монолит: рецепт приготовления [60] — @julianikolaeva [61] о том, что можно сделать вместо распиливания монолита на микросервисы.
Что нового в PHP 8.1 [62] — перевод статьи What’s new in PHP 8.1 от @MaxRokatansky [63].
Вышел PHP 8.1 [64] — еще статья про главные фичи последней версии от @maybe_elf [65].
Зависимости для сущностей и команд [66] — продолжение цикла статей от Дмитрия Елисеева про работу с зависимости и разбор практических примеров.
Принцип подстановки Барбары Лисков (предусловия и постусловия) [27] — без общих примеров принципа. @genkovich [67] рассмотрел «Предусловия», «Постусловия», ковариантность, контравариантность и инвариантность, а также «правило истории».
Строим систему доменных событий в модульном монолите [68] — как гарантировать их доставку, следить за консистентностью в рамках транзакций, а также отличия доменных событий от интеграционных. Опытом поделился @ilyashikhaleev [69].
Стоит ли учить PHP в 2022 году [70] — статья-прогноз от @hatman [53]. Аргументы за и против, анализ рынка и факты из жизни языка.
PHP — я бы купил это за доллар [71] — еще одна статья @hatman [53] о том, окупится ли инвестиция времени в PHP.
Отказоустойчивое взаимодействие с внешними сервисами [72] — @AndreyEgoshin [73] о синхронном и асинхронном взаимодействии, их плюсах и минусах и о том, как же повысить отказоустойчивость.
PHP Generics. Right here. Right now [74] — о поддержке дженериков в PHP, а также вариант реализации от @mrsuh [75].
Кстати, на днях дженерики были замечены в питерском PHP-чате:

Чистая архитектура на PHP. Как её измерять и контролировать? [76] — @vchetkov [77] цитирует книгу Роберта Мартина «Чистая архитектура» и рассказывает про разработку собственного инструмента.
Мифы об асинхронном PHP: он не по-настоящему асинхронный [78] — @seregazhuk [79] о том, действительно ли однопоточный PHP может выполняться асинхронно или нас обманывают.
Создаём игру на KPHP с помощью FFI и SDL [80] — первая в мире графическая игра на KPHP в деталях от @quasilyte [81] и @troy4eg [82].
Зачем нужен static при объявлении анонимных функций? [83] — ответ в небольшой статье @genkovich [67].
Сравнение php-fpm, nginx-unit и laravel-octane [84] — много графиков и параметров конфигурации от @straykerwl [85].
Перечисления в PHP 8.1 [86] — перевод @s_panteleev [87] статьи [88] Brent Roose с подробным разбором енамов.
Паспортный контроль, или Как сжать полтора гигабайта до 42 мегабайт [89]— увлекательный разбор тестового на позицию PHP-разработчика.
PHP-Compiler, или ныряем в кроличью нору FFI [90] — перевод @SamDark [49] статьи [91] Anthony Ferrara.
Двоичные и побитовые операции в PHP [92] — перевод @AloneCoder [93] статьи [94] Níckolas Da Silva.
What's new in PHP 8.1 [95] — статья Brent Roose о релизе 8.1. А вот версия [62] на русском.
PHP 8.1: What's New and Changed [96] — и еще один обзор на релиз на PHP.Watch.
How opcache works [97] — статья Никиты Попова про расширение для PHP, которое ускоряет работу за счёт кэширования опкодов. А вот выпуск [98] @PQR [99] в Пятиминутка PHP с кратким пересказом статьи.
Type variance in PHP [100] — Никита Попов об особенностях системы типов в PHP.
Early binding in PHP [101] — и еще одна статья Никиты про ранее связывание в PHP.
The New Life of PHP – The PHP Foundation [102]— статья @pronskiy [47] о запуске фонда в поддержку PHP.
На лендинге https://phpcommunity.ru/2021-php [3] также собран список библиотек / пакетов и инструментов, на которые советуют обратить внимание.
Автор: Alisa Kruglova
Источник [103]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/php-2/372058
Ссылки в тексте:
[1] phpcommunity.ru: http://phpcommunity.ru
[2] полный список: https://phpcommunity.ru/2021-php#partners
[3] Подробнее: https://phpcommunity.ru/2021-php
[4] 80+ видео и статей : https://habr.com/ru/company/skyeng/blog/544180/
[5] @spasibo_kep: https://www.pvsm.ru/users/spasibo_kep
[6] PHP Point: https://youtu.be/5D337gaVPa4
[7] Skyeng: https://youtu.be/Lkwmawu3Ltc
[8] JIT в PHP 8: Просто о сложном: https://youtu.be/mAPLqPaeygg
[9] доклад: https://youtu.be/-Q3sXSr6eMo
[10] Стрим про трейты: https://youtu.be/xoEPNiMtVps
[11] НЕ ООП ЕДИНЫ! Domain Driven Design на примере холодильника: https://www.youtube.com/watch?v=rkQ3-T82pkU
[12] PHP Russia: https://youtu.be/JMxRtXrrg5k
[13] Skyeng: https://youtu.be/T_0iydEc9mM
[14] PHP Point: https://youtu.be/QSszmWIrRyw
[15] Thesis: https://phprussia.ru/moscow/2021/abstracts/7654
[16] доклад: https://phprussia.ru/moscow/2021/abstracts/6493
[17] про сетевой обмен: https://habr.com/ru/company/oleg-bunin/blog/593297/
[18] версионирование API: https://habr.com/ru/company/superjob/blog/577650/
[19] Открытое собеседование PHP Point #1: https://www.youtube.com/watch?v=FQNd9W3nb3A
[20] PHP и Laravel дайджест: https://youtu.be/6em31j_LrSo
[21] декабрь: https://www.youtube.com/watch?v=fR4YoyHjFwk
[22] Как регистрировать и тестировать shutdown функции: https://youtu.be/5eOHwubukgY
[23] PHP8: новые фишки. Готовимся к Laravel 9: https://youtu.be/kaMhZ_6MIn4
[24] PHP-программист: публичное собеседование: https://youtu.be/8jed0wIQv_A
[25] Как писать хороший код на PHP: https://youtu.be/FnWgtEbQW9c
[26] Принцип подстановки Барбары Лисков геометрическая интерпретация: https://youtu.be/BwuiNEyegTc
[27] статьи: https://habr.com/ru/post/559724/
[28] Как стать PHP-разработчиком с нуля: https://youtu.be/aZe-aYd3gDw
[29] Поиск и устранение утечек памяти в PHP: https://youtu.be/NNMp-97rk9c
[30] Drupal Warmer: автоматизируем прогрев кеша: https://youtu.be/Y1I7zGn6F-w
[31] PHP — зачем его учить, что на нем пишут, зарплаты, фреймворки: https://youtu.be/DzLnwWK_rd0
[32] PHP NN #4: для поклонников Symfony и сочувствующих: https://youtu.be/2iPNz3p5Xiw
[33] Распределенные Workflow на PHP Фреймворки и библиотеки: https://youtu.be/mNsjdTnanA4
[34] Грамотное ООП: организация надёжной бизнес-логики: https://www.youtube.com/watch?v=6tL1XOywgUc
[35] Как 200 строк на Go помогли нам освободить 15 серверов: https://youtu.be/uO268voCGwA
[36] Модульный PHP монолит как альтернатива микросервисной архитектуре: https://youtu.be/xT25xiKqPcI
[37] PHP in 100 Seconds: https://www.youtube.com/watch?v=a7_WFUlFS94
[38] PHP Meetup /Never* use arrays: https://youtu.be/MHl5vpUgNrk
[39] Modern PHP with Rasmus Lerdorf: https://youtu.be/Hc4S74LCXHo
[40] 5 Exciting New Features in PHP 8.1: https://youtu.be/T8QZkpVvDxc
[41] Laravel Diary: Faster Eloquent: Avoid Accessors with Foreach: https://youtu.be/12KCl82L48Y
[42] Dependency Injection Container With & Without Reflection API Autowiring - Full PHP 8 Tutorial: https://youtu.be/78Vpg97rQwE
[43] Exploring Event Sourcing in Laravel (part 1): https://youtu.be/vLd8BGzFeK8
[44] Самые заметные изменения языка php за последние годы: https://habr.com/ru/company/reksoft/blog/593731/
[45] @zm_llill: https://habr.com/ru/users/zm_llill/
[46] PHP дайджесты: https://habr.com/ru/users/pronskiy/posts/
[47] @pronskiy: https://habr.com/ru/users/pronskiy/
[48] июньский: https://habr.com/ru/post/562718/
[49] @SamDark: https://habr.com/ru/users/SamDark/
[50] доклада: https://clck.ru/XX9HB
[51] php8.1 доступен!: https://www.php.net/releases/8.1/ru.php
[52] Потрясающее будущее PHP-стека для карьеры: https://habr.com/ru/post/594607/
[53] @hatman: https://habr.com/ru/users/hatman/
[54] Способы внедрения зависимостей: https://elisdn.ru/blog/148/dependency-injection
[55] История разработки фасетного поиска средствами PHP: https://habr.com/ru/post/595765/
[56] @coh: https://habr.com/ru/users/coh/
[57] @MMgo: https://habr.com/ru/users/MMgo/
[58] докладу: https://youtu.be/-AMjfTQUWCk
[59] Как ManyChat на PHP8 переезжал: https://habr.com/ru/company/manychat/blog/586008/
[60] Модульный PHP монолит: рецепт приготовления: https://habr.com/ru/company/ispring/blog/560074/
[61] @julianikolaeva: https://habr.com/ru/users/julianikolaeva/
[62] Что нового в PHP 8.1: https://habr.com/ru/company/otus/blog/567710/
[63] @MaxRokatansky: https://habr.com/ru/users/MaxRokatansky/
[64] Вышел PHP 8.1: https://habr.com/ru/news/t/591739/
[65] @maybe_elf: https://habr.com/ru/users/maybe_elf/
[66] Зависимости для сущностей и команд: https://elisdn.ru/blog/150/entity-dependencies
[67] @genkovich: https://habr.com/ru/users/genkovich/
[68] Строим систему доменных событий в модульном монолите: https://habr.com/ru/company/ispring/blog/569648/
[69] @ilyashikhaleev: https://habr.com/ru/users/ilyashikhaleev/
[70] Стоит ли учить PHP в 2022 году: https://habr.com/ru/post/596841/
[71] PHP — я бы купил это за доллар: https://habr.com/ru/post/563074/
[72] Отказоустойчивое взаимодействие с внешними сервисами: https://habr.com/ru/company/ispring/blog/559416/
[73] @AndreyEgoshin: https://habr.com/ru/users/AndreyEgoshin/
[74] PHP Generics. Right here. Right now: https://habr.com/ru/post/577750/
[75] @mrsuh: https://habr.com/ru/users/mrsuh/
[76] Чистая архитектура на PHP. Как её измерять и контролировать?: https://habr.com/ru/post/504590/
[77] @vchetkov: https://habr.com/ru/users/vchetkov/
[78] Мифы об асинхронном PHP: он не по-настоящему асинхронный: https://habr.com/ru/post/553098/
[79] @seregazhuk: https://habr.com/ru/users/seregazhuk/
[80] Создаём игру на KPHP с помощью FFI и SDL: https://habr.com/ru/company/vk/blog/581238/
[81] @quasilyte: https://habr.com/ru/users/quasilyte/
[82] @troy4eg: https://github.com/troy4eg
[83] Зачем нужен static при объявлении анонимных функций?: https://habr.com/ru/post/561550/
[84] Сравнение php-fpm, nginx-unit и laravel-octane: https://habr.com/ru/post/588785/
[85] @straykerwl: https://habr.com/ru/users/straykerwl/
[86] Перечисления в PHP 8.1: https://habr.com/ru/post/570508/
[87] @s_panteleev: https://habr.com/ru/users/s_panteleev/
[88] статьи: https://stitcher.io/blog/php-enums
[89] Паспортный контроль, или Как сжать полтора гигабайта до 42 мегабайт : https://habr.com/ru/post/538358/
[90] PHP-Compiler, или ныряем в кроличью нору FFI: https://habr.com/ru/company/oleg-bunin/blog/560788/
[91] статьи: https://blog.ircmaxell.com/2019/04/compilers-ffi.html
[92] Двоичные и побитовые операции в PHP: https://habr.com/ru/company/vk/blog/538052/
[93] @AloneCoder: https://habr.com/ru/users/AloneCoder/
[94] статьи: https://thephp.website/en/issue/bitwise-php/
[95] What's new in PHP 8.1: https://stitcher.io/blog/new-in-php-81
[96] PHP 8.1: What's New and Changed: https://php.watch/versions/8.1
[97] How opcache works: https://www.npopov.com/2021/10/13/How-opcache-works.html
[98] выпуск: https://5minphp.ru/episode93/
[99] @PQR: https://habr.com/ru/users/PQR/
[100] Type variance in PHP: https://www.npopov.com/2021/11/08/Type-variance-in-PHP.html
[101] Early binding in PHP: https://www.npopov.com/2021/10/20/Early-binding-in-PHP.html
[102] The New Life of PHP – The PHP Foundation : https://blog.jetbrains.com/phpstorm/2021/11/the-php-foundation/
[103] Источник: https://habr.com/ru/post/648669/?utm_source=habrahabr&utm_medium=rss&utm_campaign=648669
Нажмите здесь для печати.