Telegram Web Link
Рекомендую PHP Дайджест Live!

На стриме Рома расставляет акценты и делает дайджесты ещё более подробными и полезными.

Например, до вчерашнего лайва я хуже понимал концепцию файберов, не знал про нюансы #[Deprecated] и режимы в XDebug 3 и не решался заценить реакцию Бугаенко на PHP 8.

https://youtu.be/mvjj_YX_BqQ
Подводя итоги, многие примеряют отрицательные эпитеты к уходящему году. Но для меня он в первую очередь продуктивный, медийный и полный общения с замечательными людьми!

Большое спасибо за вдохновение и помощь Роману Пронскому, Алексею Корнееву, Алисе Кругловой, Алисе Мартыновой, Сергею Жуку, Антону Мореву, Александру Макарову и Максиму Масюкевичу. Спасибо вам, пыхари, за просмотры, хлопки, дизлайки, комментарии и сообщения. Эта открытка про всех нас

С Новым Годом!!! 🐂🎄☃️🎆🎁
Буду благодарен, если вы пройдёте опрос от phpcommunity.ru и PHP Digest по итогам 2020 года.

Результаты потешат ЧСВ победителей номинаций сориентируют нас по контенту в новом году 🔭

https://skyeng-school.typeform.com/to/iNfIjQbr

Опрос анонимный, оставляйте почту только если хотите поучаствовать в розыгрыше 🐘
🤹

Решили с Ромой запустить юморной канал про PHP. Посмотрим, что из этого получится. Подписывайтесь, присылайте мемы и шутки 🤗

@isPHPdying
Forwarded from PHP умирает?!
Media is too big
VIEW IN TELEGRAM
Пыхарь, используешь preloading на проде?
Anonymous Poll
7%
Да
49%
Нет, у нас PHP < 7.4
44%
Нет, PHP >= 7.4
Мы в Happy Inc дождались поддержки PHP 8 от всех наших зависимостей и полностью перешли на 8.0.1 🎉

Никаких проблем не возникло, ничего из ломающего совместимость мы не использовали.

Кодовую базу потихоньку засахариваем 🍭 и убираем визуальный долг. Наконец-то попробовали Rector, инструмент для миграции кода с одной версии PHP на другую в любом направлении. Тул крутой, но реализация пока хромает. Какие-то ректоры выполнились корректно, а какие-то вырезали phpdoc с дженериками или не учли пограничные случаи. Без статического анализатора в одиночку Rector я бы не запускал. В общем, полуручной работы всё равно довольно много, но спасибо PhpStorm за Option(Alt)+Enter 😉
В PHP 8 можно очень лаконично превращать find() в get().

https://php.watch/versions/8.0/throw-expressions
🧩 Symfony Modular Skeleton

Один из главных аспектов управления сложностью на проекте — это структурирование кода. "И проблемы это все нетехнические — машинам похеру на структуру кода. Это в основном проблемы коммуникации между людьми", — @fes0r в https://www.tg-me.com/symfony_php/202422.

Разбивка кода по типам (как в документациях по фреймворкам) или по слоям (навеянная шестиугольными луковицами) — это структурирование по техническому аспекту. Однако если мы взрослые ребята и понимаем, что в первую очередь автоматизируем бизнес-процессы, а не имплементируем архитектуры, то код мы должны разбивать по фичам. Только тогда можно начинать говорить об изоляции изменений, анализе связанности и сцепления модулей, масштабировании и переезд на микросервисы.

В этом году собираюсь выступить с докладом на эту тему и резюмировать знания, которые мы усвоили с коллегами в Happy Inc. А пока оставляю вас со скелетоном для Symfony, при помощи которого можно учиться писать модульный код без запутанных yaml-портянок в папке config.

https://github.com/vudaltsov/symfony-modular-skeleton
Не могу не поделиться с вами этим мемом 🤣

https://www.tg-me.com/isPHPdying/41
Обновление рецептов Symfony Flex

Если вы используете Symfony Flex, рекомендую вместе с пакетами обновлять и рецепты. Особенно при минорных и мажорных апдейтах. Это делается в три шага:
composer sync-recipes --force,
• проверяем (и, скорее всего, частично откатываем) измененые файлы,
• коммитим.

Команда sync-recipes --force накатывает только обновлённые рецепты и фиксирует их версии в файл symfony.lock. То есть если сразу же выполнить её ещё раз, уже ничего не произойдёт.

Зачем обновлять рецепты? Во-первых, это помогает мигрировать устаревшие конфиги и проще переживать мажорные релизы. Во-вторых, рецепты часто рассказывают про новые функции старых добрых пакетов, по сути, это дополнительный способ актуализации знаний.

Чтобы всегда легко обновлять рецепты, не меняйте расположение и логику конфигов в папке config/packages. Вносите изменения так, чтобы потом было легко их идентифицировать в диффах. При конфигурации вендорных библиотек и бандлов без рецептов добавляйте для каждого свой файл конфига с соответствующим именем.
Про рекламу и вакансии

На текущий момент на канале Пых нет платной рекламы. Я рекомендую только то, что ± относится к PHP и пришлось мне по душе.

По поводу упоминания компаний и размещения вакансий для пыхарей у меня особая позиция. Все мы так или иначе ищем работу (активно или на перспективу), поэтому эта информация действительно полезна и релевантна. Однако последнее, чего бы хотелось, это чтобы Пых превратился в доску объявлений про знание PHP 5.3+ на уровне разговорного. Поэтому я всегда предлагаю рекрутерам совместно сделать контент поувлекательнее. Например, небольшое онлайн-интервью с представителем тех- и HR-отдела, в котором я задам несколько вопросов о позиции, проекте и почему PHP. Уверен, это было бы интересно всем и принесло бы куда больше откликов. Тем не менее все ранее писавшие мне рекрутеры горячо со мной согласились, но так и не вернулись 😓

Я верю в вас, уважаемые эйчары, и жду ваших идей! @vudaltsov
Сегодня в 19:30 по Москве Пётр, Роман и я наденем леггинсы, наполним стаканы смузи и зачилим в Clubhouse, чтобы обсудить первые впечателния от PHP 8.

Если у вас есть айфон или не лень запустить эмулятор, присоединяйтесь!

https://www.joinclubhouse.com/event/ma4lpZXL
Как в коллбэке array_map получить не только значение, но и ключ?

Передать ключи третьим аргументом!

Но учтите, что при использовании array_map с двумя и более массивами ключи не сохраняются, то есть результат всегда будет списком (индексным массивом).
На канале PHP задачи с собеседований опубликовали мою трешовую задачку 🤪

Если не увидели проблему, не отвечайте сразу "этому коду не помочь". Что называется, take your time. Цель задачи — проверить знания в нескольких областях: итераторы, генераторы, замыкания, PHP 8.

И да, она, конечно, не для собеседования, скорее для гимнастики.

https://www.tg-me.com/phpquiz/456
Завтра в 11:00 по Москве будет большой стрим про PHP в 2021-ом году!

🎤 Доклады:

• про WebRTC от Ильи Левина из Skyeng,
• про gRPC от Антона Жукова из ManyChat.

🏄 Острые дискуссии, мнения о 2020, планы на 2021:

• Александр Макаров (Yii),
• Антон Околелов (Цинковый прод),
• Валентин Удальцов (Пых),
• Дмитрий Елисеев (ElisDN),
• Константин Буркалев (SDCast),
• Никита Попов (PHP core team),
• Николай Пучко (PHP.Today),
• Петр Мязин (Пятиминутка PHP),
• Роман Пронский (PHP Дайджест),
• Сергей Жук (Между Скобок).

🎁 Итоги опроса про лучшее из мира PHP за 2020 и вручение подарков.

https://youtu.be/6JF2U39J4RY
Основные итоги опроса про лучшее из мира PHP за 2020 🔥

🥈 В номинации Персона года я занял 2-ое место между Никитой Поповым и Александром Макаровым.

🥈 В номинации Канал года Пых занял 2-ое место между PHP Digest и PHP задачи с собеседований.

🥈 В номинации YouTube-канал года наш с Ромой PHP Point занял 2-ое место между HighLoad Channel и Skyeng ITeam.

Я счастлив оказаться на призовых местах бок о бок с такими замечательными людьми и ресурсами. Спасибо всем, кто подписан и кто уже отписался, кто благодарит и хейтит, кто приглашает на конференции и, прости Господи, на подкасты.

Мы все уверенно шагаем в 2021-ом, и дальше будет только круче!

Итоги опроса смотрите на https://phpcommunity.ru/brave-new-2021.
2025/07/07 13:51:36
Back to Top
HTML Embed Code: