Комментарии 28
Утром просмотрел по дороге на работу PHP-дайджест, добавил оригинальную статью в закладки вечером почитать, а вечером уже и перевод готов:))
Спасибо, автор!
К сожалению, на момент написания статьи PhpStorm этого не умеет.
К сожалению на момент написания этой статьи PhpStorm это умеет. Да-да перевод, все дела, но дата у статьи на Хабре сегодняшняя, а в статье аж 11 упоминаний про бесполезность Шторма
Автор оригинала приезжал в Москву на PHPRussia2019 и рассказывал про статические анализаторы, которые упоминаются в статье.
Холиварный вопрос: мне кажется, или это оверинжиниринг, указывать в дженерики произвольный тип значений в стеке из примера в статье? PHP же и так динамически типизирован. Или это имеется ввиду типизированный стек?
Ох уж это программирование аннотациями
Чушь какую-то написали, не подумав
Generators и generics ВНЕЗАПНО разные вещи
Работать я так понимаю, это будет на уровне IDE, и никак не будет если я правлю код в блокнотике, меня там ничто не ограничит и не остановит.
А то что описывается в этой статье — применение для тех же целей дополнительных инструментов (так как пока на уровне языка таких возможностей нет). Статический анализатор прогоняет проверки, например, на каждый Pull Request, в случае обнаружении проблем код разворачивается. То есть это исключительно метод контроля качества кода.
Таким образом в исходном сообщении вы половину сочинили, половину потратили на бессмысленные придирки к термину, который у других никаких проблем в понимании не вызывает.
psalm.dev/docs/running_psalm/language_server
Phan и PHPStan не понимают специфичные аннотации psalm.
PHPStan с версии 0.12.x понимает psalm аннотации и поддерживает дженерики
Заметка из будущего ;-) поскольку, тема про дженерики и PHP актуальна.
https://blog.jetbrains.com/phpstorm/2021/07/phpstorm-2021-2-release/#class-string
PHP дженерики уже сегодня (ну, почти)