Telegram Web Link
Forwarded from PHP умирает?!
Media is too big
VIEW IN TELEGRAM
🎙Новый митап от SkyNet в Санкт-Петербурге!

Ребята из отдела разработки питерского провайдера SkyNet очень расстроились, что на стриме к выходу PHP 8.2 никто не отчитался о ситуации в их городе, и решили организовать свой митап. Ну а я рад помочь с распространением информации о такой замечательной инициативе!

Итак, первый митап состоится вечером 16-го февраля в офисе SkyNet на Репишева, 20.

Предусмотрено два доклада:
• PHP-схема взаимодействия с frontend-ом с типами и валидацией (Дмитрий Юдин, SkyNet).
• Твоё выступление, пыхарь! Предлагай тему в личку Павлу @lukazavr.

https://skynet-meetups.timepad.ru/event/2315901/
🧑‍🎓 Первая лекция от Пыха: Что такое контракт и как его тестировать?

Активно собеседуя разработчиков на вакансию в Happy Inc., я заметил, что некоторые темы особенно сильно западают у большинства соискателей.

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

Итак, встречайте первую лекцию про контракты и контрактные тесты! 1000 рублей, 15 минут, 0% воды. С нетерпением жду ваших комментариев!

https://boosty.to/phpyh/posts/483bbfbe-0924-4e97-b833-da108935121e
Пых
🧑‍🎓 Первая лекция от Пыха: Что такое контракт и как его тестировать? Активно собеседуя разработчиков на вакансию в Happy Inc., я заметил, что некоторые темы особенно сильно западают у большинства соискателей. Мне хочется помочь, но консультацию каждому не…
Я прислушался к вашим комментариям и переосмыслил свой Boosty.

Вместо платных постов теперь 3 уровня подписки:
• scalar за 200 руб./мес. — поддержка бесплатного контента на каналах Пых, PHP Point и PHP Умирает?!,
• array за 1000 руб./мес. — доступ ко всем лекциям (планирую закидывать по 2-3 в месяц),
• object за 3500 руб./мес. — доступ к лекциям + часовая персональная консультация с возможностью записи.

Всем, кто вчера храбро оплатил первую лекцию, я выдам бесплатный доступ к array на первый месяц. Пожалуйста, свяжитесь со мной, чтобы я скинул ссылку на "подарок".

Остальных приглашаю на обновлённую страницу: https://boosty.to/phpyh!
Размещение кэшей dev-инструментов в самом проекте — хорошо или плохо?

В последнее время мне нравится собирать все артефакты запуска dev-инструментов в загитигноренную папку var в корне проекта. При таком подходе "мусор" не растекается по всей файловой системе и появляется возможность "вынести" его одной командой rm -rf ./var/ (можно оформить как скрипт Composer или Makefile, чтобы не ошибиться). Кроме того, разгружается корень проекта от ненужных файлов.

Вот несколько идей со ссылками на конфиги:
кэш PHP CS Fixer (по умолчанию .php-cs-fixer.cache лежит в корне проекта),
кэш PHPUnit (по умолчанию .phpunit.result.cache лежит в корне проекта),
кэш Psalm (по умолчанию папка весом в несколько мегабайт лежит либо в $XDG_CACHE_HOME, либо в $HOME, либо в sys_get_temp_dir),
кэш PHPStan (аналогично, лежит в sys_get_temp_dir).

Однако в случае Psalm и PHPStan есть и минусы:
• теперь за кэш отвечаете вы сами, операционная система его не почистит,
• если делаете бэкапы, в них попадёт бесполезная информация.

Пишите в комментариях, что думаете по поводу такого подхода.
Пыхарь, тебе был бы интересен транспилируемый в PHP язык с функционалом Psalm/PHPStan и поддержкой IDE?
Anonymous Poll
49%
Да
51%
Нет
👨‍🔬 Лекция от Пыха. Как переиспользовать то, для чего не предусмотрено переиспользование?

Пока готовил новую лекцию для Boosty, придумал ещё одну. Название снова загадочное, но ничего не могу с собой поделать...

https://boosty.to/phpyh/posts/fc068aa4-c4e9-4c97-bc6e-3b4e31259a68
🎧 Самописные инфраструктурные компоненты

На подкасте Пятиминутка PHP вышла наша третья (!) встреча с Петром Мязиным. Очень приятно вспомнить, что Пётр — первый человек, который вытащил меня в медийное пространство PHP в мохнатом 2019-ом году (Symfony Hackathon в Брюсселе глазами очевидца). 💙

В этом выпуске я, по сути, подвожу черту под инфраструктурной частью моей работы в Happy Inc. Рассказываю, как и на кой чёрт мы написали три крупных компонента: Thesis, Hydrator и Message Bus. А ещё в выпуске есть немного про Message Driven Architecture, паттерн Outbox и принятие странных решений.

Всем приятного вечера и прослушивания: https://5minphp.ru/episode99/.
Please open Telegram to view this post
VIEW IN TELEGRAM
Пыхарь, важнейший вопрос во вселенной! Какой порядок ключевых слов при объявлении класса в PHP 8.2 ты считаешь наиболее логичным?
Anonymous Poll
81%
final readonly class
19%
readonly final class
Ищу любителей статанализа для воркшопа на Podlodkа PHP Crew

28-ого февраля в 19:00 на второй Подлодке PHP я проведу воркшоп "Упарываемся по статанализу: условные типы и вложенные дженерики". Для выступления мне потребуются два добровольца, которые под моим руководством выполнят несколько познавательных заданий и на следующий день смогут перейти на Kotlin или Haskell.

Короче, пыхарь, если ты практикуешь статанализ, готов пообщаться в онлайне и не занят через две недели во вторник вечером, пиши мне в личку @vudaltsov. Чтобы проверить свои знания, реши задачку https://psalm.dev/r/e7e74a61cf.

Ах, да, те, кого я отберу, получат бесплатные билеты на Podlodkа PHP Crew!

————————————
PHP-линч #8 будет в четверг в 18:00.
Пых
Ищу любителей статанализа для воркшопа на Podlodkа PHP Crew 28-ого февраля в 19:00 на второй Подлодке PHP я проведу воркшоп "Упарываемся по статанализу: условные типы и вложенные дженерики". Для выступления мне потребуются два добровольца, которые под моим…
Спасибо всем откликнувшимся, мне было очень приятно связаться с каждым! К сожалению, пришлось выбирать, так как по сценарию нужно 2 участника. Но что-то мне подсказывает, что это не последняя движуха такого рода. 😉

Правильное решение задачи: https://psalm.dev/r/064023dcb7.

И всех ещё раз приглашаю на Podlodkа PHP Crew, в частности на мой воркшоп "Упарываемся по статанализу: условные типы и вложенные дженерики" 28-ого в 19:00.
Не игнорьте .idea в репозитории
(Реинкарнация старого доброго поста)

Я считаю, что на проекте не должно быть строгой фиксации на IDE. Каждый может кодить в чём хочет. Главное, чтобы в итоге код был причёсан в согласованном командой стиле. И для этого нужны не git-хуки и не расшаренные конфиги IDE, а CI с проверкой на Code Style. Тогда можно хоть с телефона в браузере левой ногой правки вносить — вмерджить неправильный код в мастер всё равно не получится.

А теперь мысленно доведём ситуацию до абсурда, чтобы выявить проблему. Представим, что каждый из 100 разработчиков проекта решил использовать свою кастомную IDE с уникальными временными файлами и предложил по одному PR в каждый из 100 микросервисов на изменение .gitignore. Поздравляю, у нас 10_000 PR! 😮

Вывод: код должен быть IDE-агностик, то есть не зависеть от среды разработки!

И это элементарно достигается настройкой глобального .gitignore на машине разработчика. Каждый прописывает себе те исключения, которые необходимы для его ОС, IDE и прочих инструментов, а затем спокойно открывает абсолютно любой проект, не боясь закоммитить лишнее.

Добавьте всего лишь две команды в ваш чек-лист для онбоардинга:

git config --global core.excludesfile ~/.gitignore
echo '.idea/' >> ~/.gitignore

—————————
PHP-линч #9 сегодня в 19:00.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from PHP умирает?!
Конкурс от канала PHP умирает?!

До 1-ого марта скинь в личку @vudaltsov идею для озвучки сцены из фильма или сериала.

Условия:
• сцена должна быть короткой (не дольше 30 секунд),
• предлагаемый вариант озвучки должен быть связан с PHP,
• преимущество получат самые смешные варианты, которые не выставляют PHP в плохом свете (по крайней мере, явно).

Примеры:
https://www.tg-me.com/isPHPdying/19,
https://www.tg-me.com/isPHPdying/26,
https://www.tg-me.com/isPHPdying/124,
https://www.tg-me.com/isPHPdying/125.

Что присылать:
• фрагмент фильма или сериала или ссылку на него с тайм-кодом,
• текст альтернативной озвучки,
• можно несколько вариантов.

Призы:
🥇 месяц подписки object на Пых Boosted,
🥈 месяц подписки array на Пых Boosted,
🥉 месяц подписки array на Пых Boosted.

Все три ролика будут обязательно озвучены и выложены на канале после подведения итогов. С нетерпением ждём ваших идей!
function phpyh(array &$value): void
{
$value = 1;
}

$value = [];
phpyh($value);

var_dump($value);
🎲 Разыгрываю билет на Podlodka PHP Crew!

Как вы уже знаете, ранее я отобрал двух участников воркшопа по статанализу на Podlodka PHP Crew, и сегодня вечером в 19:00 мы с Алесем и Андреем обмажемся типами по-полной, уж поверьте мне. Но внезапно я вспомнил, что у меня есть дополнительная проходка на конфу, и решил её разыграть!

Билет на Подлодку получит тот, кто первым правильно решит задачку: https://psalm.dev/r/ed78fa67f7. Там нужно поправить все ошибки одним изменением, не прибегая к @psalm-suppress.

Исправленный сниппет присылайте в личку так же ссылкой на psalm.dev. Решение задачи разберём завтра на PHP-линче в 21:00 (проведём после Подлодки).
2025/07/04 03:53:00
Back to Top
HTML Embed Code: