Typhoon: новая система типов для PHP

  • Зал : 416. BackEnd
  • Категории : Разработка
  • Секции: PHP

Описание:

Недавно в версии 0.3 вышел проект Typhoon (https://github.com/typhoon-php) — бескомпромиссная статическая рефлексия для PHP с поддержкой phpDoc-типов и резолвингом дженериков.

Основа этого проекта — компонент typhoon/type, который даёт определение современной системе типов PHP. В докладе я расскажу, как мы собирали эту систему, вдохновляясь Psalm и PHPStan, как её редуцировали, как искали в ней место для self, parent и static.

Послушав доклад, вы узнаете, на что способен статический анализ в PHP, как работает паттерн Visitor и как проектировать удобное пользовательское API для таких абстрактных вещей. Будет увлекательно и харкдорно.

О спикере

Знатный пыхарь и контрибьютор экосистемы PHP. Автор канала Пых в Telegram. Однажды в прямом эфире сражался против четверых защитников трейтов и не проиграл! Ниже перечислены некоторые конференции, стримы и подкасты с моим участием. 2024 • "Валентин Удальцов, Виталий Лихачев: Публичное собеседование Senior Software Engineer" (https://youtu.be/oQdQIjiN-pE). • Доклад "Полиморфизм в современном PHP" на митапе в Санкт-Петербурге (https://www.youtube.com/watch?v=DhkTJcjJouc&t=3268s). 2023 • Доклад "Кэш через OPcache" на митапе в Йошкар-Оле (https://www.youtube.com/watch?v=YvJXq9aJwpQ). • Выпуск "Сколько можно заработать на курсе по PHP?" на Пятиминутке PHP. • Доклад "Кэш через OPcache" на митапе в Ростове-на-Дону (https://www.youtube.com/watch?v=8ZzAqhgmBFg&t=204s). 2022 • Эпизод "Принятие IT-решений и ответственность - благо или головная боль?" подкаста Console.Dialog (https://consoledialog.mave.digital/ep-5). • Стрим "Релиз PHP 8.2, запуск опроса с итогами года в сообществе и не только" (https://youtu.be/cXdJxa2gxgo). • Доклад "ID-баттл: UUID vs автоинкремент" на конференции PHP Russia 2022 (https://youtu.be/Xr_SNd9LIng). • Доклад "ID battle: UUID vs auto increment" на конференции HighLoad++ Armenia 2022 (https://youtu.be/j4qxsxP4rAU). 2021 • Стрим "Как регистрировать и тестировать shutdown функции" (https://youtu.be/5eOHwubukgY). • Доклад "Thesis: как забыть про ORM и перейти на нативные SQL-запросы" на PHP Russia 2021 (https://youtu.be/SQ3kjOsWExk). • Доклад "Как структурировать код, чтобы не получить большой ком грязи" (https://phpcommunity.ru/php-nn-4). • Стрим "Релиз PHP 8.1, запуск PHP Foundation и истории переезда на 8.0" (https://youtu.be/5D337gaVPa4). 2020 • Эпизод "Статический анализ" подкаста "Между скобок" (https://vk.com/podcast-194136186_456239028). • Доклад "Утечки памяти в PHP" на конференции PHPFest 2020 (https://youtu.be/15slA-Z8CxA). • Стрим "Открытое собеседование с Патриком Фельдешем" (https://youtu.be/FQNd9W3nb3A). • Стрим "Трейты в PHP — зло? Валентин Удальцов против всех" (https://youtu.be/DEk56xbMITo). • Стрим "PHP 8: что нового, туда ли двигается, что будет дальше" (https://youtu.be/QSszmWIrRyw). 2019 • EU FOSSA хакатон Symfony 2019 в Брюсселе (https://eufossa.github.io/symfony-hackathon-2019/). • Доклад "Как контрибьютить в Symfony и зачем это делать" на PHP Russia 2019 (https://youtu.be/fuchthdSERk). • Доклад "How to contribute to Symfony and why you should give it a try" на SymfonyCon 2019 в Амстердаме (https://youtu.be/0qoFguRftMI). • Эпизод "SymfonyCon 2019, Domain Events и новые компоненты Symfony 5" подкаста Пятиминутка PHP (https://5minphp.ru/episode72/). В свободное время играю на барабанах (https://youtu.be/FFMJxx4f7ns).

Похожие доклады