TGViewer
Пых Пых @phpyh · 7.83K subscribers
Post #697 5.37K
Property Hooks во всей красе

Вчера на курсе обратил внимание, что низкоуровневый интерфейс обработчика сообщений, о котором многие из вас скоро узнают на лекции по MessageBus, в PHP 8.4 было бы в разы приятнее имплементировать. Как это выглядит сейчас:


interface Handler
{
public function id(): string;

public function handle(Context $context): mixed;
}

final readonly class CallableHandler implements Handler
{
public function __construct(
private string $id,
private Closure $handler,
) {}

public function id(): string
{
return $this->id;
}

public function handle(Context $context): mixed
{
return ($this->handler)($context);
}
}


Бесит, что для id в имплементации надо так много всего написать. А вот аналогичный вариант в PHP 8.4:


interface Handler
{
public string $id { get; }

public function handle(Context $context): mixed;
}

final readonly class CallableHandler implements Handler
{
public function __construct(
public string $id,
private Closure $handler,
) {}

public function handle(Context $context): mixed
{
return ($this->handler)($context);
}
}


Ну кайф же? -5 строк кода! К сожалению, я пока не могу себе позволить писать опенсорсные либы с "php": "^8.4", но хоть вы за меня на проектах оттянитесь!
___________

Тем временем разобрали половину билетов на Пыхап в следующую пятницу. Регистрация продолжается: https://phpyh.timepad.ru/event/3250220/#register
phpyh.timepad.ru Пыхап #3 / 18 апреля 2025 / События на TimePad.ru Пишешь на PHP? Приходи на митап от автора канала «Пых»! В программе 2 хардкорных доклада, Открытый микрофон, пицца-driven общение и уютная атмосфера лофта «Событие» в центре Москвы.
  • 🔥 27
  • 👍 12
  • 💩 5
  • 👎 4
  • ❤ 1
More from @phpyh
  1. Sep 28, 2026Запустили Пыхник и неделю PHP! Залетайте на первый открытый доклад от Дмитрия Dantes про к…
  2. Sep 15, 2026Сейчас один человек с AI может выполнять работу целого IT-отдела. Только хуёво
  3. Sep 12, 2026Спасибо за заявки! Всем напишу в понедельник. Осталось 1 место.
  4. Sep 11, 2026Хардкорный курс асинхронного PHP https://hardcourse.ru/php/async
  5. Sep 11, 2026Ещё полчасика надо — сайт готов, расписываю программу! 🙏
  6. Sep 10, 2026Краткое содержание: завтра в 12:00 открываю набор на Хардкорный курс асинхронного PHP с уч…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →