TGViewer
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter @phpproglib · 10.5K subscribers
Post #3772 3.16K
🔍Здесь рассматривается проблема типизации в приложениях, использующих Query Bus. Query Bus — это шаблон проектирования, который позволяет обрабатывать запросы и возвращать результаты. Проблема заключается в том, что возвращаемый тип данных из Query Bus неопределен, что затрудняет типизацию в приложении.

🔧Для решения этой проблемы автор предлагает использовать дженерики. Они позволяют связывать тип возвращаемого значения Query с типом, который возвращает соответствующий QueryHandler. Таким образом, он предлагает определить интерфейс Query как generic, указав переменный тип T.

Затем типизируется интерфейс QueryBus, указывая, что он принимает объекты типа Query и возвращает объекты типа T. Это позволяет явно указать тип возвращаемого значения из Query Bus.

🔑Наконец, показывается пример конкретного запроса, который также типизируется с использованием generics. Это позволяет автоматически определять тип возвращаемого значения из Query Bus в среде разработки, такой как PHPStorm, облегчая работу с кодом.
DEV Community Type hint a Query Bus in PHP Introduction If we use a Query Bus1 in our application, we usually have an interface that...
  • 👍 11
  • 🥱 4
More from @phpproglib
  1. Oct 10, 2026Post #6729
  2. Oct 10, 2026Перенос MiniJinja с Rust на Go силами Opus и Codex Около десяти часов работы агента и прим…
  3. Oct 2, 2026🎹 Что делать после ChatGPT? Следующий шаг — AI-агенты. Они не просто отвечают на запросы,…
  4. Sep 30, 2026🔥 Последний день для разработчиков AI уже пишет код. Теперь важнее научиться встраивать е…
  5. Sep 30, 2026🐸 Библиотека пхпшника
  6. Sep 29, 2026💡 Laravel-фича, которая спасает тесты от случайных запросов Http::preventStrayRequests()…
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 →