Пых – Telegram
Пых
8.26K subscribers
263 photos
16 videos
6 files
579 links
Блог Валентина Удальцова о разработке на PHP.

Хобот @phpyhobot
https://youtube.com/@phpyh
https://vkvideo.ru/@phpyh
https://news.1rj.ru/str/isPHPdying

Статистика: https://news.1rj.ru/str/INOTAROBOT?start=st1219340804

Для связи используйте личные сообщения канала.
Download Telegram
🍿 Вместо линча сегодня смотрим свою игру от CutCode!

Участники третьего сезона: 🖼 Сергей Предводителев, 🔥 Павел Бучнев и 🖼️ Александр Черняев. Покажите мне сообщество любого другого языка, где есть такие же крутые проекты!

https://youtu.be/Sw2CRO7kTbQ

Начало через 50 минут, не пропустите!
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍11🔥7
Пых
Регистрация на Пыхап 8 ноября https://phpyh.timepad.ru/event/3071538/ Все 50 билетов разлетелись за 15 минут, очень приятно!
Пыхап уже в эту пятницу!

Друзья, подготовка к митапу идёт полным ходом! Отслушаны доклады, протестирована трансляция с площадки и забронирован Грузинский ресторан Мзиани для афтерпати. Наверняка в итоге что-то пойдёт не так, но я уверен — даже если выключится свет, мы всё равно отлично проведём время и узнаем кучу нового (см. программу). 😆

Одна маленькая просьба к тем, кто придёт офлайн. Если вы вдруг передумаете, напишите мне до пятницы — я передам ваш билет другим желающим. 😊

До скорой встречи в лофте «Событие» и на канале PHP Point!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥30👍73
defer в PHP

В Go есть инструкция defer. Она откладывает выполнение операции на момент после возврата текущей функции:


func main() {
defer fmt.Println("world!")

fmt.Print("Hello ")
}


В PHP мы элементарно добьёмся того же эффекта, если присвоим переменной объект с требуемым кодом в деструкторе. После выполнения скрипта/функции/метода при высвобождении объекта из памяти PHP вызовет этот деструктор:


$defer = new class {
public function __destruct()
{
echo 'world!', PHP_EOL;
}
};

echo 'Hello ';


Каждый раз писать такую колбасу неудобно. Также может потребоваться запланировать несколько defer. Поэтому мы берём на вооружение библиотечку php-defer/php-defer, которая в стиле node_modules предоставляет нам соответствующую функцию:


defer($_, static function (): void {
echo 'rld!', PHP_EOL;
});

defer($_, static function (): void {
echo ', wo';
});

echo 'Hello';


Главный вопрос: зачем это нужно, когда есть finally? Удобство defer состоит в том, что его можно использовать в требуемом месте, не реорганизуя код. Прилагаю скриншот рефакторинга TyphoonReflectorMemoryTest — там всё очень наглядно. Кстати, этот тест я уже упоминал в посте Тест на циклические ссылки.

Cпасибо @Danil42Russia за знакомство с php-defer.

В Laravel тоже есть такая функция, но её не получится использовать вне фреймфорка, спасибо @YourKey и @kafkianskiy.
👍43🔥12👎841
Open Source Цех #2. Поддержка PHP 8.4 в Symfony PropertyInfo

Сегодня вечером поработаю над своим тикетом в Symfony, который я недавно создал в поддержку письма "Asymmetric visibility is a BC break". Приходите помогать в 19:00 на канал PHP Point. Особенно интересно будет тем, кто ещё не пробовал ассиметричную видимость и виртуальные свойства в PHP 8.4.

https://youtu.be/LjJtb-kFYZg
👍12🔥8
Пых
Пыхап уже в эту пятницу! Друзья, подготовка к митапу идёт полным ходом! Отслушаны доклады, протестирована трансляция с площадки и забронирован Грузинский ресторан Мзиани для афтерпати. Наверняка в итоге что-то пойдёт не так, но я уверен — даже если выключится…
Пыхап × Happy Job

Пыхап уже завтра, а сегодня я ещё раз хочу поблагодарить Happy Job 💚 за спонсорство. Это далеко не первый наш совместный проект за последние два года. Очень рад, что мы продолжаем тесно общаться на совершенно другом уровне. Пишите в комментариях, у кого были похожие истории.

HR-ы (вы ведь тоже подписаны на Пых?), вам наверняка будет интересен канал @happyjobru в Telegram. Там коллеги периодически проводят бесплатные вебинары и рассказывают про вовлечённость, work-life balance и счастье на работе. Подписывайтесь!

Кстати, накануне я добавил ещё 10 посадочных мест. Почти все раздал, осталось 2 билета, забирайте на странице регистрации!
👍13🔥105
Пых
Пыхап × Happy Job Пыхап уже завтра, а сегодня я ещё раз хочу поблагодарить Happy Job 💚 за спонсорство. Это далеко не первый наш совместный проект за последние два года. Очень рад, что мы продолжаем тесно общаться на совершенно другом уровне. Пишите в комментариях…
🏡 Офлайн Пыхап

Дорогие гости, через два часа, в 18:30, мы будем ждать вас в уютном лофте «Событие» по адресу Москва, Николоямская улица, 28.

Безумно приятно, что некоторые специально приехали издалека, чтобы вживую запустить Пыхап!

О начале онлайн-трансляции я дополнительно объявлю ближе к 19:00.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3513👍8
Пых
🏡 Офлайн Пыхап Дорогие гости, через два часа, в 18:30, мы будем ждать вас в уютном лофте «Событие» по адресу Москва, Николоямская улица, 28. Безумно приятно, что некоторые специально приехали издалека, чтобы вживую запустить Пыхап! О начале онлайн-трансляции…
▶️ Пыхап!

Буквально через несколько минут начнётся первый в истории Пыхап! Залетайте в трансляцию на канале PHP Point!

https://youtu.be/Pa4pti6r-rc

В программе у нас 3 доклада:

🤯 (Не) используйте функциональное программирование в PHP
Андрей Клименко поломает вам голову основами ФП и примерами на Scala, из которых станет понятно, что из функционального мира уже доступно в PHP, а что ещё предстоит законтрибьютить.
⬇️Слайды

🐇 Вы не знаете RabbitMQ
Вадим Занфир расскажет, почему все современные фреймворки теряют сообщения и как на самом деле надо работать с "кроликом".
⬇️Слайды

🤑 Как считать деньги и не терять их
В аду есть специальный котёл для тех, кто использует float для хранения денег. Сергей Жук подскажет, как в него не угодить.
⬇️Слайды

Спонсор первого Пыхапа — Happy Job 💚! Обращайтесь в Happy Job за исследованиями вовлечённости и оценкой 360, ребята делают лучшую платформу для развития сотрудников.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥34👍125👎2
Дизайн php.net освежили. Нравится!
🔥77👍27🤩8😁5👎2
Forwarded from Andrew Klimenko
https://wiki.php.net/rfc/function-composition

Заспавнилось на следующий день после доклада. Это квантовая запутанность?
👍18😁12😱11🔥5
Forwarded from PHP Fart Time (Алексей roxblnfk)
👍25🔥135💩3👎2🤝2
🎉 PHP 8.4!

https://www.php.net/releases/8.4/ru.php

Для меня это особенный релиз, потому что я в нём поучаствовал. Спасибо Максиму Махнюку из Ruvents, который заложил в мою голову идею для RFC аж 6 лет назад! Тогда он между делом задал риторический вопрос:

Почему в PHP нельзя писать, как в Java: new MyClass().method()?


Сейчас многие из вас горячо обсуждают, надо ли ставить скобки или нет. Друзья, пишите код так, как вы решили в вашей команде. Нет ничего лучше единообразия в стиле кодирования, подкреплённого джобой в CI. Именно поэтому мой пока ещё не одобренный Fixer позволяет менять код в обе стороны.

В PHP 8.4 добавили ещё много важных и интересных изменений. Приглашаю вас на традиционный стрим, посвящённый релизу, сегодня в 20:00 по Москве. Обсудим хуки свойств, ассиметричную видимость, новые функции, ленивые объекты и всё, что ещё вспомнится. Спасибо Сергею и Данилу с @CutCode, что приняли эстафету у Алисы.

https://youtu.be/UgNAvNmAizk
Please open Telegram to view this post
VIEW IN TELEGRAM
6🎉58🔥2812👍6💯2
🔫 Иду в гости к Кошачьей Бацыле!

https://youtu.be/9n985wI0z3c

Иван, автор канала, недавно предложил мне вместе постримить. Оказалось, что он пишет на PHP и частенько упоминает его в своих роликах про пресловутое IT. Очевидно, нам есть, о чём поговорить, поэтому я сразу согласился. Залетайте сегодня в 18:00 на уютный пятничный стрим, будем знакомиться!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥44👍18🤮94😱1
Forwarded from PHP Russia Channel
⚡️На момент проведения конференции выйдет долгожданный PHP 8.4 - важнейшее событие для разработчиков. Много новых фич и функций, разобраться в которых будет полезно всем, кому интересен PHP. Об этом расскажут в секции “Новые крутые либы”, представленной на PHP Russia 2024.

Одного выступления для этого мало, но Валентин Удальцов (Typhoon) в cвоем докладе “PHP 8.4: живее всех живых” расставит все основные акценты и расскажет, как поскорее внедрить PHP 8.4 в ваши проекты.

Говорят, что зима близко? Не только зима! Вот-вот выходит легендарный PHP 8.4, набор функционала которого затмевает даже те изменения, что были в PHP 7.4. А значит, самое время вооружиться знаниями о новой версии языка, дабы вся феерия новых возможностей не застала врасплох!

📌 До встречи на PHP Russia 2024, которая пройдет 2 и 3 декабря в рамках HighLoad++ 2024.

📎 Онлайн-билеты, расписание и программу можно найти на сайте
🔥26👍17👏5🗿1
PHP Russia 2024

Конфа в самом разгаре! Оба дня до обеда веду зал, а завтра вечером рассказываю про PHP 8.4. Наведу фокус на важные фичи, которым уделили недостаточно внимания.

Кто тут, приходите в зал Кейптаун, буду рад поболтать.
🔥97👍269
Вопросы для интервью с Иоаннисом Лукерисом

Вчера был крутой доклад от грека Иоанниса Лукериса про APCu. Прикол в том, что Иоаннис — единственный зарубежный спикер на весь Highload++. Очень приятно, что привезла его Катя Фирсова из программного комитета PHP Russia.

Я хочу воспользоваться ситуацией и через полчаса взять у него интервью. Напишите вопросы, на которые вы бы хотели получить ответы.
👍42🔥163🤡2👌1
Пых
Ловите превью.
Иоаннис Лукерис про PHP vs Go, Yii 3 и русских разработчиков

Иоаннис — архитектор в Altenar. На прошедшей PHP Russia он рассказывал, как и в каких случаях использовать APCu. На меня произвели большое впечатление его харизма, выдержка и рассудительность, и я сразу понял, что без интервью этого человека отпускать нельзя.

https://youtu.be/rycC75QpIPY

Спасибо Екатерине Фирсовой за гостя, а вам, пыхари, за крутые вопросы.
🔥39👍1612
Open Source Цех #3. Symfony PropertyInfo, Symfony Console, PHPUnit

В эту среду в 19:00 посмотрим, как Nicolas Grekas поправил совместимость Symfony PropertyInfo с PHP 8.4, и предложим пару маленьких изменений в Symfony Console и PHPUnit.

https://youtu.be/z19oWnc4WMU
🔥23👍143
Composer bump-after-update

В Composer 2.8 появилась полезная автоматизация для bump:

# раньше
composer update && composer bump
# теперь
composer update --bump-after-update

# раньше
composer update && composer bump --dev-only
# теперь
composer update --bump-after-update=dev


Или один раз прописываем в composer.json:

{
"config": {
"bump-after-update": true|"dev"|"no-dev"
}
}


В проекте рекомендую использовать true (бампим всё), в библиотеке — "dev" (бампим только dev зависимости), так как диапазоны основных зависимостей библиотеки определяются осознанно в соответствии со стратегией совместимости.

Кто не в курсе, команда composer bump появилась в Composer 2.4. Она поднимает нижние границы констрейнтов в composer.json до зафиксированных в composer.lock, например:

{
"require": {
- "typhoon/reflection": "^0.4"
+ "typhoon/reflection": "^0.4.4"
}
}
👍45🔥27🤔6