Пых
Пыхап #2 Буквально через несколько минут начнётся второй Пыхап! Залетайте в трансляцию на YouTube и VKВидео! 🤔 Шардирование в RabbitMQ Антон Растрыгин расскажет, как разбирать очередь параллельно, но последовательно. ⬇️ Слайды 🤝 Гибкий проект с фича-флагами…
Реализация нейронной сети на PHP
Прямо сейчас Алексей Нечаев рассказывает про нейросетки в PHP! Залетайте в транляцию и задавайте вопросы.
⬇️ Слайды
https://youtu.be/OVYFFQppq2I
https://vkvideo.ru/video-228746873_456239022
Прямо сейчас Алексей Нечаев рассказывает про нейросетки в PHP! Залетайте в транляцию и задавайте вопросы.
https://youtu.be/OVYFFQppq2I
https://vkvideo.ru/video-228746873_456239022
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Пыхап #2 / 8 февраля 2025
Пыхап — митап про PHP для PHP-разработчиков, их техлидов, тимлидов, архитекторов, техдиректоров и всех, кому небезразличен наш бесконечно умирающий язык.
В программе второго Пыхапа 3 доклада и новая секция:
🤔 Шардирование в RabbitMQ
Антон Растрыгин расскажет…
В программе второго Пыхапа 3 доклада и новая секция:
🤔 Шардирование в RabbitMQ
Антон Растрыгин расскажет…
Итоги второго Пыхапа
Митап прошёл простоохуенно . Горжусь всеми, кто его делал и кто в нём участвовал! Получилось технично, душевно и празднично. 😊
Все доклады есть в записи с таймкодами на YouTube и VKВидео.
Открытый микрофон был разрывным. Спасибо ребятам за смелость и интересные мысли. Как и планировалось, мы ничего не записывали, поэтому я просто перечислю темы и героев:
▸ "Трюки и хитрости Docker" (Павел Иванов),
▸ "Как мы Query параметры через LZString готовим" (Максим Шек),
▸ "Как и зачем жить без дейликов" (Арсений Скурт),
▸ "Symbiotic PHP — микрофреймворк дляговнокода микросервисов" (Павел Дузов).
Когда следующий Пыхап? Всё зависит от вас, потому что главное — контент. Ждём ваши заявки на доклад!
Также мы всегда рады спонсорам. Спасибо Happy Job и PremiumBonus за поддержку первых двух мероприятий. Если ваша компания хочет стать следующей — напишите мне в личку.
До встречи в офлайне!
Митап прошёл просто
Все доклады есть в записи с таймкодами на YouTube и VKВидео.
Открытый микрофон был разрывным. Спасибо ребятам за смелость и интересные мысли. Как и планировалось, мы ничего не записывали, поэтому я просто перечислю темы и героев:
▸ "Трюки и хитрости Docker" (Павел Иванов),
▸ "Как мы Query параметры через LZString готовим" (Максим Шек),
▸ "Как и зачем жить без дейликов" (Арсений Скурт),
▸ "Symbiotic PHP — микрофреймворк для
Когда следующий Пыхап? Всё зависит от вас, потому что главное — контент. Ждём ваши заявки на доклад!
Также мы всегда рады спонсорам. Спасибо Happy Job и PremiumBonus за поддержку первых двух мероприятий. Если ваша компания хочет стать следующей — напишите мне в личку.
До встречи в офлайне!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Обзор PHP RFC #1
Друзья, вместо "Кодим с джуном" сегодня импровизированный стрим — посмотрим новые RFC в PHP! А с Женей встретимся в другой день.
Залетайте!
https://youtu.be/XSVld58EAMI
https://vkvideo.ru/video-228746873_456239025
Друзья, вместо "Кодим с джуном" сегодня импровизированный стрим — посмотрим новые RFC в PHP! А с Женей встретимся в другой день.
Залетайте!
https://youtu.be/XSVld58EAMI
https://vkvideo.ru/video-228746873_456239025
RFC: Static property asymmetric visibility
Как вы, наверное, знаете, в PHP 8.4 новоиспечённые хуки нельзя использовать для статических свойств. Сегодня стартовало голосование за RFC, который это разрешит в 8.5.
https://wiki.php.net/rfc/static-aviz
Как вы, наверное, знаете, в PHP 8.4 новоиспечённые хуки нельзя использовать для статических свойств. Сегодня стартовало голосование за RFC, который это разрешит в 8.5.
class Example
{
public private(set) static string $classTitle = 'Example class';
// Implicitly public-read, just like object properties.
protected(set) static int $counter = 0;
public static function changeName(string $name): void
{
// From private scope, so this is allowed.
self::$classTitle = $name;
}
}
print Example::$classTitle; // Allowed.
Example::$classTitle = 'Nope'; // Disallowed.
https://wiki.php.net/rfc/static-aviz
Всех люблю! Ваш Валентин. 🎁
Please open Telegram to view this post
VIEW IN TELEGRAM
Кодим с джуном на PHP #1 / Евгений Alignant, cпецификации и SQL. Часть 2
Завтра с Женей в 15 мы точно закончим начатое!😅
https://youtu.be/uj9oidvAlSc
https://vkvideo.ru/video-228746873_456239026
Завтра с Женей в 15 мы точно закончим начатое!
https://youtu.be/uj9oidvAlSc
https://vkvideo.ru/video-228746873_456239026
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Кодим с джуном на PHP #1 / Евгений Alignant, cпецификации и SQL. Часть 2
Первая часть: https://youtu.be/jukC0Vl-K0I . На этом стриме доделаем начатое!
Новый формат на канале Пых! Я приглашаю джуна, даю ему материалы для подготовки, а затем мы встречаемся на стриме, чтобы на базе этих материалов разобрать интересную задачу (джун…
Новый формат на канале Пых! Я приглашаю джуна, даю ему материалы для подготовки, а затем мы встречаемся на стриме, чтобы на базе этих материалов разобрать интересную задачу (джун…
PHP True Async
Только что от Эдмона Дантеса (его реально так зовут?) в internals прилетел вот такой запрос!
Пока это просто письмо, но всё равно радостно, что кто-то поднимает флаг и дальше развивает асинк. С нетерпением ждём RFC!
https://externals.io/message/126402
Только что от Эдмона Дантеса (его реально так зовут?) в internals прилетел вот такой запрос!
Пока это просто письмо, но всё равно радостно, что кто-то поднимает флаг и дальше развивает асинк. С нетерпением ждём RFC!
https://externals.io/message/126402
Пых
Кодим с джуном на PHP #1 / Евгений Alignant, cпецификации и SQL. Часть 2 Завтра с Женей в 15 мы точно закончим начатое! 😅 https://youtu.be/uj9oidvAlSc https://vkvideo.ru/video-228746873_456239026
Кодим с джуном на PHP #1 / Евгений Alignant, cпецификации и SQL. Часть 2
Мы начинаем! Залетайте!
https://youtu.be/uj9oidvAlSc
https://vkvideo.ru/video-228746873_456239026
Мы начинаем! Залетайте!
https://youtu.be/uj9oidvAlSc
https://vkvideo.ru/video-228746873_456239026
YouTube
Кодим с джуном на PHP #1 / Евгений Alignant, cпецификации и SQL. Часть 2
Первая часть: https://youtu.be/jukC0Vl-K0I . На этом стриме доделаем начатое!
Новый формат на канале Пых! Я приглашаю джуна, даю ему материалы для подготовки, а затем мы встречаемся на стриме, чтобы на базе этих материалов разобрать интересную задачу (джун…
Новый формат на канале Пых! Я приглашаю джуна, даю ему материалы для подготовки, а затем мы встречаемся на стриме, чтобы на базе этих материалов разобрать интересную задачу (джун…
Пыхап ищет спонсора!
Пыхап — это не только способ выступить и круто провести время, но ещё и возможность привлечь внимание к вашей компании, рассказать о команде и получить отклики на релевантные вакансии.
Мы планируем провести третий московский Пыхап уже в апреле. Запланированы крутые доклады, Открытый микрофон и афтепати, не хватает только спонсора!
В обмен на финансирование мероприятия мы рассказываем о компании в анонсах и на мероприятии, интегрируем её айдентику в наши макеты. Мы открыты и для других форматов, например, было бы здорово придумать совместный интерактив для участников.
Пыхари, буду рад, если вы перешлёте этот пост своим HR и поделитесь с ними впечатлениями о прошедших меропритиях. По поводу спонсорства можно писать в личку.
Про первый Пыхап: https://www.tg-me.com/phpyh/557.
Итоги второго: https://www.tg-me.com/phpyh/636.
Пыхап — это не только способ выступить и круто провести время, но ещё и возможность привлечь внимание к вашей компании, рассказать о команде и получить отклики на релевантные вакансии.
Мы планируем провести третий московский Пыхап уже в апреле. Запланированы крутые доклады, Открытый микрофон и афтепати, не хватает только спонсора!
В обмен на финансирование мероприятия мы рассказываем о компании в анонсах и на мероприятии, интегрируем её айдентику в наши макеты. Мы открыты и для других форматов, например, было бы здорово придумать совместный интерактив для участников.
Пыхари, буду рад, если вы перешлёте этот пост своим HR и поделитесь с ними впечатлениями о прошедших меропритиях. По поводу спонсорства можно писать в личку.
Про первый Пыхап: https://www.tg-me.com/phpyh/557.
Итоги второго: https://www.tg-me.com/phpyh/636.
Closure в константных выражениях в PHP 8.5
В 8.5 приняты два RFC:
▸ PHP RFC: Support Closures in constant expressions,
▸ PHP RFC: First Class Callables in constant expressions.
Они позволяют использовать анонимные функции и first class callable синтаксис в константных выражениях (значениях параметров по умолчанию, константах, константах класса и атрибутах).
Как всегда в PHP нельзя что-то добавить без "но". В данном случае исключение сделано для стрелочных функций, потому что они автоматически захватывают контекст, а константные выражения не могут содержать переменные.
В 8.5 приняты два RFC:
▸ PHP RFC: Support Closures in constant expressions,
▸ PHP RFC: First Class Callables in constant expressions.
Они позволяют использовать анонимные функции и first class callable синтаксис в константных выражениях (значениях параметров по умолчанию, константах, константах класса и атрибутах).
Как всегда в PHP нельзя что-то добавить без "но". В данном случае исключение сделано для стрелочных функций, потому что они автоматически захватывают контекст, а константные выражения не могут содержать переменные.
final class Request
{
#[Validate(is_string(...))]
#[Validate(static function (string $locale): bool {
return preg_match('/^[a-z]{2}$/', $locale);
})]
public mixed $locale = 'ru';
}
final readonly class Checks
{
public const Closure IS_STRING = is_string(...);
public const Closure IS_LOCALE = static function (string $locale): bool {
return preg_match('/^[a-z]{2}$/', $locale);
};
}
final readonly class Worker
{
public function __construct(
private Closure $onFinish = static function (): void {}
) {}
// ...
}
PHP-линч #28 с Андреем Моховым / andi-lab/graphql-php
В среду в
https://github.com/andrey-mokhov/graphql-php
https://github.com/andrey-mokhov/graphql-php-spiral
YouTube: https://youtu.be/DQPtYimff6M
VK Видео: https://vkvideo.ru/video-228746873_456239027
В среду в
18:30
вместе с Андреем Моховым отлинчуем его библиотеку для описания GraphQL API на базе webonyx/graphql-php с возможностью интеграции в SpiralFramework.https://github.com/andrey-mokhov/graphql-php
https://github.com/andrey-mokhov/graphql-php-spiral
YouTube: https://youtu.be/DQPtYimff6M
VK Видео: https://vkvideo.ru/video-228746873_456239027
YouTube
PHP-линч #28 с Андреем Моховым / andi-lab/graphql-php
В среду в 18:30 вместе с Андреем Моховым отлинчуем его библиотеку для описания GraphQL API на базе webonyx/graphql-php с возможностью интеграции в SpiralFramework.
https://github.com/andrey-mokhov/graphql-php
https://github.com/andrey-mokhov/graphql-php…
https://github.com/andrey-mokhov/graphql-php
https://github.com/andrey-mokhov/graphql-php…
PHP-линч #28 с Андреем Моховым / andi-lab/graphql-php
Начинаем! Комментировать можно под этим чатом.
YouTube: https://youtu.be/DQPtYimff6M
VK Видео: https://vkvideo.ru/video-228746873_456239027
Начинаем! Комментировать можно под этим чатом.
YouTube: https://youtu.be/DQPtYimff6M
VK Видео: https://vkvideo.ru/video-228746873_456239027
YouTube
PHP-линч #28 с Андреем Моховым / andi-lab/graphql-php
В среду в 18:30 вместе с Андреем Моховым отлинчуем его библиотеку для описания GraphQL API на базе webonyx/graphql-php с возможностью интеграции в SpiralFramework.
https://github.com/andrey-mokhov/graphql-php
https://github.com/andrey-mokhov/graphql-php…
https://github.com/andrey-mokhov/graphql-php
https://github.com/andrey-mokhov/graphql-php…
Есть тут такие, кто, как и я, не юзает чат-боты и счастливо живёт?
Anonymous Poll
54%
Да!
46%
Нет, ИИ — наше всё, а ты чёртов ретрогад.
PHP RFC: Marking return values as important (#[\NoDiscard])
За internals не успеть в последнее время! Вот уже на голосование вышел RFC от Tim Düsterhus и Volker Dusch. Они предлагают добавить в PHP атрибут
Возвращаемое значение считается использованным, если оно участвует в выражении или присваивании. Чтобы избежать предупреждения и явно в коде обозначить намерение не использовать результат вызова функции с
Использование
По мнению авторов, этот атрибут будет полезен для функций с сайд-эффектами, которые при этом ещё что-то возвращают, например, ошибки.
https://wiki.php.net/rfc/marking_return_value_as_important
За internals не успеть в последнее время! Вот уже на голосование вышел RFC от Tim Düsterhus и Volker Dusch. Они предлагают добавить в PHP атрибут
#[NoDiscard]
— им можно будет пометить функции и методы, возвращаемое значение которых не стоит игнорировать. Например, вот такой код будет кидать E_WARNING
, если RFC примут:
$date = new DateTimeImmutable('2024-1-1');
$date->setDate(2025, 1, 1); // E_WARNING
echo $date->format('Y'); // 2024
Возвращаемое значение считается использованным, если оно участвует в выражении или присваивании. Чтобы избежать предупреждения и явно в коде обозначить намерение не использовать результат вызова функции с
#[NoDiscard]
, авторы RFC предлагают добавить (void)
каст. Он превратит выражение в инструкцию:
flock($stream, LOCK_EX); // E_WARNING
(void) flock($stream, LOCK_EX); // OK
if ((void) flock($stream, LOCK_EX)) {} // Parse error
Использование
#[NoDiscard]
в функциях и методах, возвращающих void
, never
, а также в магических методах и хуках свойств приведёт к фатальной ошибке на этапе интерпретации.По мнению авторов, этот атрибут будет полезен для функций с сайд-эффектами, которые при этом ещё что-то возвращают, например, ошибки.
https://wiki.php.net/rfc/marking_return_value_as_important
Пых
PHP RFC: Marking return values as important (#[\NoDiscard]) За internals не успеть в последнее время! Вот уже на голосование вышел RFC от Tim Düsterhus и Volker Dusch. Они предлагают добавить в PHP атрибут #[NoDiscard] — им можно будет пометить функции и…
Что я сам думаю по этому поводу?
Имхо, это такой же бесполезный атрибут, как и
По сути, это очередная проблема, которая должна решаться статическим анализом, а не рантаймом.
Имхо, это такой же бесполезный атрибут, как и
#[Override]
. Никакого спроса лично у меня на эту фичу нет. Наверное, потому, что мои функции либо не мутируют стейт, либо возвращают void
. Ну а к особенностям нативного апи я давно привык.По сути, это очередная проблема, которая должна решаться статическим анализом, а не рантаймом.