Пых
Пыхап #3 Буквально через несколько минут начнётся третий Пыхап! Залетайте в трансляцию в YouTube, VK Видео и Telegram, комментировать можно прямо под этим постом! 😨 Раскапываем редис Алексей Сидоркин раскроет нам все нюансы работы с Redis: кластеризация…
Третий Пыхап прошёл на ура!
Спасибо огромное всем, кто помогал с организацией, кто выступал, кто присутствовал онлайн и офлайн и задавал вопросы.💙
Доклады Алексея и Сергея мы скоро зальём отдельными роликами. Открытый микрофон прошёл так же душевно и разнопланово, как и в прошлый раз:
▸ Антон Морев рассказал, как меняется отношение разработчика к работе и деньгам, когда он начинает свой бизнес.
▸ Сергей Исаков озадачился нехваткой молодых пыхарей и предложил пройти мини-опрос джунам, которые ищут работу на PHP.
▸ Николай Шаповалов посвятил в положение дел в сообществе Drupal.
▸ Кирилл Несмеянов подловил на незнании нескольких особенностей PHP.
Следующий Пыхап мы проведём совместно с Lamoda Tech в июне. Подробности будут чуть позже. До встречи!
Спасибо огромное всем, кто помогал с организацией, кто выступал, кто присутствовал онлайн и офлайн и задавал вопросы.
Доклады Алексея и Сергея мы скоро зальём отдельными роликами. Открытый микрофон прошёл так же душевно и разнопланово, как и в прошлый раз:
▸ Антон Морев рассказал, как меняется отношение разработчика к работе и деньгам, когда он начинает свой бизнес.
▸ Сергей Исаков озадачился нехваткой молодых пыхарей и предложил пройти мини-опрос джунам, которые ищут работу на PHP.
▸ Николай Шаповалов посвятил в положение дел в сообществе Drupal.
▸ Кирилл Несмеянов подловил на незнании нескольких особенностей PHP.
Следующий Пыхап мы проведём совместно с Lamoda Tech в июне. Подробности будут чуть позже. До встречи!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥74❤20👍18
Ищем спикеров для четвёртого Пыхапа × Lamoda Tech в июне
Ориентировочные темы докладов:
• статический анализ в PHP, сравнение с другими языками,
• Rector и плагины,
• проектирование и документация API,
• телеметрия и мониторинг,
• организация кода (Vertical Slice Architecture, coupling/cohesion),
• альтернативные рантаймы (RoadRunner, FrankenPHP, ngx-php),
• CI/CD пайплайны для PHP.
Подать заявку: https://forms.gle/KCggoZFFTZcwoNqq8
_______________
Мы выложили плейлист с докладами последнего Пыхапа: YouTube, VK Видео.
Ориентировочные темы докладов:
• статический анализ в PHP, сравнение с другими языками,
• Rector и плагины,
• проектирование и документация API,
• телеметрия и мониторинг,
• организация кода (Vertical Slice Architecture, coupling/cohesion),
• альтернативные рантаймы (RoadRunner, FrankenPHP, ngx-php),
• CI/CD пайплайны для PHP.
Подать заявку: https://forms.gle/KCggoZFFTZcwoNqq8
_______________
Мы выложили плейлист с докладами последнего Пыхапа: YouTube, VK Видео.
YouTube
Пыхап #3 / 18 апреля
Пыхап — митап про PHP для PHP-разработчиков, их техлидов, тимлидов, архитекторов, техдиректоров и всех, кому небезразличен наш бесконечно умирающий язык. htt...
🔥27👍16❤6😢1
Forwarded from The Fly's PHP - Делаем из Мухи Слона
Всем, привет! С прошлыми майскими праздниками, и с будущими тоже! 🎉
Во всех PHP сообществах наступила тишина, или все отдыхают, или усердно работают 😄
Так или иначе, под шумок апрельских и майских деньков ворвался и был одобрен RFC по добавлению новых функций для работы с массивами:
Как видно из названий, это функции для получения первого и последнего значения передаваемого массива. Примеры результатов:
И тут возможно возникнет вопрос? Что? Это было добавлено только что, неужели ранее подобных функций не было в PHP, языке в котором есть почти все что угодно для работы с массивами.
И действительно только что. Достаточно вспомнить, что массив в PHP - это монструозный комбайн всего, что только можно придумать. Соответственно метод "влоб" - получения элемента по нулевому индексу, не всегда даст ожидаемый результат:
Заглянем в недалекое прошлое, в 2018 год, PHP 7.3, в то время были приняты такие функции как
Но возможно для кого-то будет новостью, что в том же RFC предлагалось ввести так же такие функции как
Так вот с тех пор получать ключи стало проще, нежели ранешнее
Получение первого и последнего элементов массива тоже стало проще:
А что было до PHP 7.3? Кроме указанного способа по получению ключей, а затем значений, еще с PHP 4, были функции reset() и end(). Были, есть и будут :) И используя их можно получить вполне ожидаемый результат:
так зачем тогда все эти телодвижения по вводу новых функций?
Просто все существующие хитрости,семантически являются неправильным подходом, поскольку они изменяют внутреннее состояние массива. Кроме того, это также не работает должным образом для, например, массива, возвращаемого из функции или других подобных непредусмотренных случаев.
А как вы думаете, нужны ли были эти новые функции или итак по старинке справились бы?❓
Во всех PHP сообществах наступила тишина, или все отдыхают, или усердно работают 😄
Так или иначе, под шумок апрельских и майских деньков ворвался и был одобрен RFC по добавлению новых функций для работы с массивами:
array_first() и array_last() в PHP 8.5. Как видно из названий, это функции для получения первого и последнего значения передаваемого массива. Примеры результатов:
array_first([1, 2, 3]); // 1
array_first([2, 3]); // 2
array_first(['a' => 2, 'b' => 1]); // 2
array_first([null, 2, 3]); // null
array_first([]); // null
array_first([$obj, 2, 3]); // $obj
array_first([1])); // 1
array_first([true]); // true
array_last([1, 2, 3]); // 3
array_last([2, 3]); // 3
array_last(['a' => 2, 'b' => 1]); // 1
array_last([2, 3, null]); // null
array_last([]); // null
array_last([2, 3, $obj]); // $obj
array_last([1])); // 1
array_last([true]); // true
И тут возможно возникнет вопрос? Что? Это было добавлено только что, неужели ранее подобных функций не было в PHP, языке в котором есть почти все что угодно для работы с массивами.
И действительно только что. Достаточно вспомнить, что массив в PHP - это монструозный комбайн всего, что только можно придумать. Соответственно метод "влоб" - получения элемента по нулевому индексу, не всегда даст ожидаемый результат:
$array = [
"g" => 456,
2,
4 => "string"
];
var_dump($array[0]); //выдаст 2
[$first] = $array; // какая-нибудь деструктуризация выдаст тоже 2
Заглянем в недалекое прошлое, в 2018 год, PHP 7.3, в то время были приняты такие функции как
array_key_first() и array_key_last().Но возможно для кого-то будет новостью, что в том же RFC предлагалось ввести так же такие функции как
array_value_first() и array_value_last(), что логично возвращали бы значения первого и последнего элемента в массиве. Но эти функции были отклоненны, почему, не совсем понятно, может кто-то из подписчиков помнит и знает доподлинную причину отклонения, либо просто время не пришло, и нужны были дополнительные 7 лет для переосознания 😀Так вот с тех пор получать ключи стало проще, нежели ранешнее
array_keys($array)[0], а если еще массив был пустым, то обязательная проверка на пустоту или вообще увеличение когнитивной сложности реализации в виде циклов (что-то достаточно приближенно к современному программированию на каком-нибудь golang). Получение первого и последнего элементов массива тоже стало проще:
var_dump($array[array_key_first($array)]); // 456
var_dump($array[array_key_last($array)]); // "string"
А что было до PHP 7.3? Кроме указанного способа по получению ключей, а затем значений, еще с PHP 4, были функции reset() и end(). Были, есть и будут :) И используя их можно получить вполне ожидаемый результат:
var_dump(reset($array)); //456
var_dump(end($array));exit; // "string"
// или те же array_shift, array_pop тоже технически выполнят что нужно
var_dump(array_shift($array)); //456
var_dump(array_pop($array)); // "string"
так зачем тогда все эти телодвижения по вводу новых функций?
Просто все существующие хитрости,семантически являются неправильным подходом, поскольку они изменяют внутреннее состояние массива. Кроме того, это также не работает должным образом для, например, массива, возвращаемого из функции или других подобных непредусмотренных случаев.
А как вы думаете, нужны ли были эти новые функции или итак по старинке справились бы?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍100🔥20❤11
Пых
Друзья, я долго вынашивал этот план. Заручился поддержкой трёх родных ивент-компаний и сегодня принял окончательное решение: В сентябре у нас будет Пых.Конф! Подробности чуть позже.
Сегодня забронировал площадку.
Пых.Конф пройдёт 19 сентября в Центре Международной Торговли.
Вскоре после майских будет сайт, билеты по стартовой цене и форма подачи доклада.
Пых.Конф пройдёт 19 сентября в Центре Международной Торговли.
Вскоре после майских будет сайт, билеты по стартовой цене и форма подачи доклада.
👍56🔥41👏11🦄2👀1
Пых
Ищем спикеров для четвёртого Пыхапа × Lamoda Tech в июне Ориентировочные темы докладов: • статический анализ в PHP, сравнение с другими языками, • Rector и плагины, • проектирование и документация API, • телеметрия и мониторинг, • организация кода (Vertical…
Идея доклада для четвёртого Пыхапа × Lamoda Tech
Сегодня многие компании, исконно писавшие на PHP,зачем-то переходят на Go. Зачастую пыхари вынуждены перестраиваться на лету, и нам было бы очень интересно послушать про этот опыт.
Какие технические преимущества лично тебе дал новый язык (эффективное управление памятью, горутины, не нужен pgbouncer/amqproxy)? Где поджидали разочарования (нет как таковых фреймворков, не принято юзать ORM)? Что было непривычным и как проходил твой "paradigm shift"?
Если ты уверенно кодишь и на PHP, и на Go и готов к середине июня подготовить такой доклад, напиши мне в личку.
Сегодня многие компании, исконно писавшие на PHP,
Какие технические преимущества лично тебе дал новый язык (эффективное управление памятью, горутины, не нужен pgbouncer/amqproxy)? Где поджидали разочарования (нет как таковых фреймворков, не принято юзать ORM)? Что было непривычным и как проходил твой "paradigm shift"?
Если ты уверенно кодишь и на PHP, и на Go и готов к середине июня подготовить такой доклад, напиши мне в личку.
🔥33👍28
FrankenPHP переходит под крыло PHP!
https://externals.io/message/127347
Кратко:
• Репозиторий FrankenPHP в ближайшее время переедет в организацию PHP на GitHub.
• Мейнтейнеры останутся теми же (Kévin Dunglas).
• В будущем сервер может войти в состав PHP по аналогии с PHP-FPM, если такой RFC пройдёт голосование.
Вот такие дела, RoadRunner...
https://externals.io/message/127347
The PHP Foundation would like to announce that it has decided to directly support the FrankenPHP project moving forward. The plan is that FrankenPHP will move to the PHP GitHub organization, which will make it easier for core contributors and others to be actively involved in the project. A portion of its documentation will also move to php.net (exact details TBD).
This change will put FrankenPHP in essentially the same administrative "bucket" as PECL extensions. Its governance will not change; the same maintainers will still be maintaining it, but it will now be easier for others to contribute to the project and coordinate larger efforts.
At this time, there are no plans for tighter integration into php-src the way PHP-FPM or the CLI SAPI are. Should there be serious discussion of that in the future, it will involve an RFC, just like any other major addition to php-src.
Кратко:
• Репозиторий FrankenPHP в ближайшее время переедет в организацию PHP на GitHub.
• Мейнтейнеры останутся теми же (Kévin Dunglas).
• В будущем сервер может войти в состав PHP по аналогии с PHP-FPM, если такой RFC пройдёт голосование.
Вот такие дела, RoadRunner...
🔥95👍26🤔21👏1😁1💩1
Большое обновление Хобота!
Вы давно меня просили воскресить Бусти. Но я в первую очередь программист, а не предприниматель, поэтому я решаю задачи не эффективно, а так, чтобы пописать код.😅
Короче, теперь в Хоботе можно приобрести мои лекции. Одна уже есть, две в процессе. Надеюсь, собственная технология распространения материалов замотивирует меня их побольше создавать...
Бот написан на AMPHP с использованием их HTTP сервера, HTTP клиента и драйвера для Postgres. Ещё бот стал экспериментальной площадкой для новых компонентов Thesis. Другие подробности вы можете узнать у него самого!
В будущем я планирую научить Хобота помогать мне с менторингом, регистрировать на Пыхап и даже предоставлять доступ к курсам. Главное, что уже есть модуль биллинга.
Буду рад замечаниям и предложениям по улучшению UX.
@phpyhobot
MessageBus: от сервисов к обработчикам
Первая доступная для покупки лекция — та самая, про MessageBus. Это двухчасовой монтаж стрима, который я проводил в апреле для участников слонового краудфандинга (кстати, пора мне узнать, как там дела на фабрике).
Рекомендую её всем, кому интересна message-driven архитектура, CQRS, проектирование пайплайнов с middleware, устройство компонентов а-ля symfony/messenger и, конечно, дженерики. Подробное описание лекции в Хоботе.
@phpyhobot
Вы давно меня просили воскресить Бусти. Но я в первую очередь программист, а не предприниматель, поэтому я решаю задачи не эффективно, а так, чтобы пописать код.
Короче, теперь в Хоботе можно приобрести мои лекции. Одна уже есть, две в процессе. Надеюсь, собственная технология распространения материалов замотивирует меня их побольше создавать...
Бот написан на AMPHP с использованием их HTTP сервера, HTTP клиента и драйвера для Postgres. Ещё бот стал экспериментальной площадкой для новых компонентов Thesis. Другие подробности вы можете узнать у него самого!
В будущем я планирую научить Хобота помогать мне с менторингом, регистрировать на Пыхап и даже предоставлять доступ к курсам. Главное, что уже есть модуль биллинга.
Буду рад замечаниям и предложениям по улучшению UX.
@phpyhobot
MessageBus: от сервисов к обработчикам
Первая доступная для покупки лекция — та самая, про MessageBus. Это двухчасовой монтаж стрима, который я проводил в апреле для участников слонового краудфандинга (кстати, пора мне узнать, как там дела на фабрике).
Рекомендую её всем, кому интересна message-driven архитектура, CQRS, проектирование пайплайнов с middleware, устройство компонентов а-ля symfony/messenger и, конечно, дженерики. Подробное описание лекции в Хоботе.
@phpyhobot
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Хобот
Бот канала Пых @phpyh.
👍30🔥16👏5👎3🥰1
Пых
Большое обновление Хобота! Вы давно меня просили воскресить Бусти. Но я в первую очередь программист, а не предприниматель, поэтому я решаю задачи не эффективно, а так, чтобы пописать код. 😅 Короче, теперь в Хоботе можно приобрести мои лекции. Одна уже есть…
Так-с, есть ошибка. Чиню! 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10🤝6👍2
Пых
Так-с, есть ошибка. Чиню! 🤔
Работает! Два момента исправил:
• телеграмовский
• не учитывалась блокировка бота пользователями (тут пока хотфикс, позже сделаю по-нормальному).
@phpyhobot
• телеграмовский
userId в Postgres надо хранить в bigint (забавно, что у всех вчерашних бета-тестеров id были меньше),• не учитывалась блокировка бота пользователями (тут пока хотфикс, позже сделаю по-нормальному).
@phpyhobot
👍24😁9🔥5❤1
Как проводить и проходить собеседования в 2025
Дмитрий Алин, автор канала @live_php_news и организатор питерских митапов, поделился своим опытом поиска работы:
https://telegra.ph/Kak-provodit-i-prohodit-sobesedovaniya-05-25
Я сам уже более двух лет никуда не собесился, поэтому очень интересно наблюдать, как это происходит сегодня, в эпоху "умного поиска" со стороны спроса и волчистости со стороны предложения.
Расскажите в комментариях, с чем вы столкнулись при поиске работы и что вам помогло.
Дмитрий Алин, автор канала @live_php_news и организатор питерских митапов, поделился своим опытом поиска работы:
https://telegra.ph/Kak-provodit-i-prohodit-sobesedovaniya-05-25
Я сам уже более двух лет никуда не собесился, поэтому очень интересно наблюдать, как это происходит сегодня, в эпоху "умного поиска" со стороны спроса и волчистости со стороны предложения.
Расскажите в комментариях, с чем вы столкнулись при поиске работы и что вам помогло.
Telegraph
Как проводить и проходить собеседования
Обо мне Меня зовут Дмитрий Алин, я в IT уже больше 20 лет. Работаю то лидом, то сеньором. Сейчас работаю в Совкомбанке главным разработчиком, являюсь лидером сообщества Live PHP, где организую митапы, дринкапы, шашлыки и по мелочи всякое. За свой продолжительный…
🤮55👍26🔥7
Forwarded from Пых.конф’25 — главное PHP-событие этого года!
Принимаем заявки на доклады!
19 сентября в Москве в Конгресс-центре ЦМТ пройдёт новая PHP-конференция для всех.
👥 400 участников • 🔢 4 зала • 🎙 28 докладов
Скоро откроется сайт конференции, где можно будет приобрести билет по стартовой цене.
А пока — подай доклад! Спикер участвует бесплатно, готовится вместе с программным комитетом и получает ценный опыт публичных выступлений.
Ориентировочный список тем:
• async и неблокирующий I/O;
• статический анализ: Psalm, PHPStan, Rector;
• производительность и highload;
• архитектура: ES, DDD, CQRS, микросервисы;
• тестирование и бенчмаркинг;
• инфраструктура: очереди, стримы, базы данных;
• DevOps: CI/CD, Docker, Kubernetes;
• AI/ML;
• фреймворки: Yii, Symfony, Laravel;
• CMS: WordPress, Drupal, Bitrix;
• IDE и плагины;
• open source: опыт, ошибки, лучшие практики.
Заявку, а лучше несколько, можно подать через Хобота до 1 июля. Мы свяжемся с тобой в течение недели и дадим обратную связь.
До встречи на Пых.конф’25!
19 сентября в Москве в Конгресс-центре ЦМТ пройдёт новая PHP-конференция для всех.
Скоро откроется сайт конференции, где можно будет приобрести билет по стартовой цене.
А пока — подай доклад! Спикер участвует бесплатно, готовится вместе с программным комитетом и получает ценный опыт публичных выступлений.
Ориентировочный список тем:
• async и неблокирующий I/O;
• статический анализ: Psalm, PHPStan, Rector;
• производительность и highload;
• архитектура: ES, DDD, CQRS, микросервисы;
• тестирование и бенчмаркинг;
• инфраструктура: очереди, стримы, базы данных;
• DevOps: CI/CD, Docker, Kubernetes;
• AI/ML;
• фреймворки: Yii, Symfony, Laravel;
• CMS: WordPress, Drupal, Bitrix;
• IDE и плагины;
• open source: опыт, ошибки, лучшие практики.
Заявку, а лучше несколько, можно подать через Хобота до 1 июля. Мы свяжемся с тобой в течение недели и дадим обратную связь.
До встречи на Пых.конф’25!
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Хобот
Бот канала Пых @phpyh.
🔥29👍11❤5🤡4
RFC Pipe operator принят, заглянем в будущее!
https://wiki.php.net/rfc/pipe-operator-v3
Команда Typhoon, в особенности Андрей Клименко, очень внимательно следила за этим RFC. Недавно о нём писали фартаны, теперь RFC принят, и я хочу разрешить ваш скепсис.
Вот вам реальный сниппет из исходников Хобота, который формирует и отправляет запрос в Т-Банк:
В целом, ок. Но хорошо было бы избавиться от промежуточных присваиваний, не вкладывая при этом вызовы друг в друга, чтобы не пострадала читабельность. Спасибо Ларри, в ноябре можно будет отрефакторить так:
Стало лучше? Спорно. Но этот RFC — лишь первый шаг Ларри в сторону реально крутых пайпов. Нам нужно изучить Future Scope, чтобы понять весь замысел.
Помечтаем. Ноябрь 2026, и я рефакторю код уже вот так:
Теперь действительно выглядит круто. Разберёмся, что тут происходит.
Кстати, для PFA Ларри уже делал RFC 5 лет назад. Но тогда возникли трудности с реализацией и Никита Попов предложил
Этот RFC — большой шаг для развития функционального стиля в PHP. Уже сейчас проекты fp4php и Crell/fp начинают играть новыми красками, а с
_______
Пссс, сегодня в16:00 19:30 на канале Пых.конф’25 появится конкурс, приз — бесплатный билет на конференцию. Подписывайся, чтобы не пропустить!
https://wiki.php.net/rfc/pipe-operator-v3
Команда Typhoon, в особенности Андрей Клименко, очень внимательно следила за этим RFC. Недавно о нём писали фартаны, теперь RFC принят, и я хочу разрешить ваш скепсис.
Вот вам реальный сниппет из исходников Хобота, который формирует и отправляет запрос в Т-Банк:
$normalizedMessage = $this->normalizer->normalize($message);
$requestData = $this->prepareRequestData($normalizedMessage);
$request = $this->buildRequest($endpoint, $requestData);
$response = $this->httpClient->request($request);
$responseBody = $response->getBody();
// Тут дальше логирование, проверка статус-кода и денормализация.
В целом, ок. Но хорошо было бы избавиться от промежуточных присваиваний, не вкладывая при этом вызовы друг в друга, чтобы не пострадала читабельность. Спасибо Ларри, в ноябре можно будет отрефакторить так:
$responseBody =
$this->normalizer->normalize($message)
|> $this->prepareRequestData(...)
|> fn (array $data): Request => $this->buildRequest($endpoint, $data)
|> $this->httpClient->request(...)
|> fn (Response $response) => $response->getBody()
;
Стало лучше? Спорно. Но этот RFC — лишь первый шаг Ларри в сторону реально крутых пайпов. Нам нужно изучить Future Scope, чтобы понять весь замысел.
Помечтаем. Ноябрь 2026, и я рефакторю код уже вот так:
$responseBody =
$this->normalizer->normalize($message)
|> $this->prepareRequestData(...)
|> $this->buildRequest($endpoint, ?)
|> $this->httpClient->request(...)
|> $$->getBody()
;
Теперь действительно выглядит круто. Разберёмся, что тут происходит.
? — это partial function application, как first class callable syntax (...), но с возможностью передать (применить) часть аргументов и выбрать вопросами параметры для результирующей функции:
$this->buildRequest($endpoint, ?)
// дешугарится в
fn (array $data): Request => $this->buildRequest($endpoint, $data)
Кстати, для PFA Ларри уже делал RFC 5 лет назад. Но тогда возникли трудности с реализацией и Никита Попов предложил
(...) в качестве более простой альтернативы. Теперь же потребность в ? сильно возросла и, я уверен, будет найдено решение.$$ — это, грубо говоря, "object application":
$$->getBody()
// дешугарится в
static fn ($object) => $object->getBody()
Этот RFC — большой шаг для развития функционального стиля в PHP. Уже сейчас проекты fp4php и Crell/fp начинают играть новыми красками, а с
? и $$ будет вообще кайф._______
Пссс, сегодня в
🤮116👍27🔥20🤔12🥴7❤5
Пых
RFC Pipe operator принят, заглянем в будущее! https://wiki.php.net/rfc/pipe-operator-v3 Команда Typhoon, в особенности Андрей Клименко, очень внимательно следила за этим RFC. Недавно о нём писали фартаны, теперь RFC принят, и я хочу разрешить ваш скепсис.…
К сожалению, на подготовку условия задачи и настройку Хобота на приём ответов потребовалось больше времени, чем мы ожидали. Поэтому мы переносим конкурс на 19:30 — приезжайте домой с работы, подписывайтесь на Пых.конф’25 и будьте готовы!
👌8🐳1🗿1
Forwarded from Пых.конф’25 — главное PHP-событие этого года!
Pipe-оператор и $$ в PHP — разбираем задачу про it с Андреем Клименко
Сегодня в
https://youtu.be/neOMOkAvdXM
https://vkvideo.ru/video-228746873_456239051
Сегодня в
19:00 МСК мы с Андреем обсудим RFC Pipe operator v3, посмотрим ваши решения задачи про it и определим победителя, который получит бесплатный билет на Пых.конф’25!https://youtu.be/neOMOkAvdXM
https://vkvideo.ru/video-228746873_456239051
YouTube
Pipe-оператор и $$ в PHP — разбираем задачу про it с Андреем Клименко
28 мая успешно завершилось голосование за RFC Pipe operator v3 https://wiki.php.net/rfc/pipe-operator-v3, и теперь в PHP 8.5 можно будет вызывать несколько функций по цепочке, не используя промежуточные переменные и вложенные вызовы. В разделе Future Scope…
🔥17👍10💩3❤1
Пых.конф’25 — главное PHP-событие этого года!
Pipe-оператор и $$ в PHP — разбираем задачу про it с Андреем Клименко Сегодня в 19:00 МСК мы с Андреем обсудим RFC Pipe operator v3, посмотрим ваши решения задачи про it и определим победителя, который получит бесплатный билет на Пых.конф’25! https://yo…
Мы начинаем обсуждать pipe, $$ и
https://youtu.be/neOMOkAvdXM
https://vkvideo.ru/video-228746873_456239051
Комментировать можно под этим постом!
it!https://youtu.be/neOMOkAvdXM
https://vkvideo.ru/video-228746873_456239051
Комментировать можно под этим постом!
YouTube
Pipe-оператор и $$ в PHP — разбираем задачу про it с Андреем Клименко
28 мая успешно завершилось голосование за RFC Pipe operator v3 https://wiki.php.net/rfc/pipe-operator-v3, и теперь в PHP 8.5 можно будет вызывать несколько функций по цепочке, не используя промежуточные переменные и вложенные вызовы. В разделе Future Scope…
❤11👍4🔥3
Forwarded from Пых.конф’25 — главное PHP-событие этого года!
Итак, по итогам разбора решений победила @marfo4ka!
Поздравляем Марию — она обладатель первого билета на Пых.конф’25!🎉
Решение задачи.
Этот конкурс — лишь начало, подписывайтесь на канал Пых.конф’25, чтобы ничего не пропустить.
Поздравляем Марию — она обладатель первого билета на Пых.конф’25!
Решение задачи.
Этот конкурс — лишь начало, подписывайтесь на канал Пых.конф’25, чтобы ничего не пропустить.
Please open Telegram to view this post
VIEW IN TELEGRAM
Gist
it.php
GitHub Gist: instantly share code, notes, and snippets.
🔥15👍7🎉3❤1😁1
Уточнение требований к платформе на уровне пакета
Представьте, что вы пишете библиотеку под PHP, которая будет правильно работать только в 64-разрядных системах. Например, vjik/telegram-bot-api использует тип
Как предотвратить установку такого пакета на 32-разрядной системе? Через Composer! В
Другие поддерживаемые подтипы
•
•
•
Чтобы скомбинировать несколько таких требований, не дублируя при этом констрейнт, можно поступить как с Core-расширениями:
Вообще, всё это есть в документации Composer, но я случайно узнал на днях, изучая пакет danog/telegram-entities.
P.S.: Закинул PR Сергею.
Представьте, что вы пишете библиотеку под PHP, которая будет правильно работать только в 64-разрядных системах. Например, vjik/telegram-bot-api использует тип
int для идентификатора чата, а chat.id, согласно документации, может иметь до 52 значимых бит.Как предотвратить установку такого пакета на 32-разрядной системе? Через Composer! В
composer.json можно указать соответствующий суффикс для php:
{
"require": {
"php-64bit": "^8.4"
}
}
Другие поддерживаемые подтипы
php:•
php-ipv6 — сборка PHP с поддержкой IPv6 (без флага --disable-ipv6),•
php-zts — потокобезопасная сборка PHP (с флагом --enable-zts),•
php-debug — сборка PHP в режиме отладки (с флагом --enable-debug).Чтобы скомбинировать несколько таких требований, не дублируя при этом констрейнт, можно поступить как с Core-расширениями:
{
"require": {
"php-64bit": "^8.4",
"php-ipv6": "*"
}
}
Вообще, всё это есть в документации Composer, но я случайно узнал на днях, изучая пакет danog/telegram-entities.
P.S.: Закинул PR Сергею.
2👍83🔥19❤11👀3😱2