Size: a a a

2021 March 11

KN

Kirill Nesmeyanov in PHP
Меня он тоже иногда бесит и даже не понятно как выкручиваться. Особенно со всякими приведениями positive-int к int и проч
источник

k

knopkod4v in PHP
не надо саппресс, его потом случайно найти можно. Лучше проставить тип, несмотря на то,ч то это неправда
источник

KN

Kirill Nesmeyanov in PHP
Валентин Удальцов
Да, я сужу по тому, как активно меня стебут за упоминание Psalm)
Пока ещё не перестали, значит не выучили) Но я этому способствую как могу.
Реально стебут?
источник

KN

Kirill Nesmeyanov in PHP
Я вот вообще везде им обмазываюсь постоянно
источник

KN

Kirill Nesmeyanov in PHP
Дошло до того, что я даже контрибьютил в JetBrains плагин...
источник

KN

Kirill Nesmeyanov in PHP
хм, наверное просто потому что не говорю о нём постоянно...
источник

KN

Kirill Nesmeyanov in PHP
надо начинать, готов, так сказать, помочь боевому товарищу)
источник

SZ

Sergey Zolotov in PHP
Валентин Удальцов
Да, я сужу по тому, как активно меня стебут за упоминание Psalm)
Пока ещё не перестали, значит не выучили) Но я этому способствую как могу.
пока TS не набрал популярность, с жс было все так же только хуже)
источник

ВУ

Валентин Удальцов... in PHP
knopkod4v
не надо саппресс, его потом случайно найти можно. Лучше проставить тип, несмотря на то,ч то это неправда
+

мы suppress делаем только если это косяк самого Psalm. и тогда сразу рядом fixme с URL до issue. как только обновляемся, findUnusedPsalmSuppress="true" сразу подсказывает, что это уже ненужно
источник

ВУ

Валентин Удальцов... in PHP
Kirill Nesmeyanov
надо начинать, готов, так сказать, помочь боевому товарищу)
Вот мой последний пост на тему Psalm и дженериков)
Потому что уже надоел этот вопрос на каждом стриме.

https://t.me/phpyh/236
Telegram
Пых
Давайте перестанем задавать вопрос про дженерики в PHP 😒

Не потому, что их "не добавят", а потому что они давно есть и отлично работают! Ставим Psalm или PHPStan, и вуаля — в нашем распоряжении не только дженерики, но и условные типы, типы пересечений, типизация массивов и колбэков, контроль доступа к свойствам и богатая экосистема плагинов вокруг этого всего!

Мы много лет указывали примитивные типы и аннотации в PHPDoc и особо не жаловались. С релизом PHP 8 абсолютно все встроенные типы и аннотации в форме атрибутов стали доступны на уровне синтаксиса. Лишь дженерики остались в PHPDoc, да и то уже частично поддерживаются в PhpStorm. Неужели в контексте проблем, сопряжённых с добавлением дженериков в PHP, для нас это плохой компромисс?! По-моему, восхитительный!

Пока гоферы обсуждают свой очередной черновик дженериков, прогрессивные пыхари уже давно прокачивают скилл обобщённого программирования и пишут код, типизированный не хуже, чем в TypeScript или Kotlin. Не отставай и ты 😉
источник

KN

Kirill Nesmeyanov in PHP
Валентин Удальцов
+

мы suppress делаем только если это косяк самого Psalm. и тогда сразу рядом fixme с URL до issue. как только обновляемся, findUnusedPsalmSuppress="true" сразу подсказывает, что это уже ненужно
Не, ну вот смотри, вот тут псалм ругается на то, что там чтение ключей массивов, которых может не быть и типы без проверок: https://github.com/spiral/roadrunner-http/blob/master/src/HttpWorker.php#L115-L116

Хотя входящий тип массива строготипизированный и указан явно, все ключи и типы значений, он там 146% есть. Вопрос - это косяк псалма или нет?
источник

AM

Artem Molotov in PHP
Kirill Nesmeyanov
utils, support, helpers, services :D
о.о
источник

KN

Kirill Nesmeyanov in PHP
Kirill Nesmeyanov
Не, ну вот смотри, вот тут псалм ругается на то, что там чтение ключей массивов, которых может не быть и типы без проверок: https://github.com/spiral/roadrunner-http/blob/master/src/HttpWorker.php#L115-L116

Хотя входящий тип массива строготипизированный и указан явно, все ключи и типы значений, он там 146% есть. Вопрос - это косяк псалма или нет?
а, блин, забей, там MixedProperty, а не ассигмент
источник

KN

Kirill Nesmeyanov in PHP
это мой косяк, надо ансаппресить и пофиксить)
источник

KN

Kirill Nesmeyanov in PHP
хотя не, типы в DTO прописаны тоже явно
источник

KN

Kirill Nesmeyanov in PHP
короче надо смотреть, забей
источник

ВУ

Валентин Удальцов... in PHP
Kirill Nesmeyanov
Реально стебут?
обычно даже не стебут, а начинают разговор про то, как же ты, сука, из рантайма-то все проверки эти убрал. оно же там потом наипнуться может 🙈
источник

ВУ

Валентин Удальцов... in PHP
другие просто хныкают, что проект большой, всем остальным пофиг, настроить сложно, тимлиду некогда и тд
источник

AM

Artem Molotov in PHP
Kirill Nesmeyanov
не что-нибудь, а suppress)
или докблок у переменной... Но без поддержки со стороны вендор либы вариантов не густо
источник

KN

Kirill Nesmeyanov in PHP
Валентин Удальцов
обычно даже не стебут, а начинают разговор про то, как же ты, сука, из рантайма-то все проверки эти убрал. оно же там потом наипнуться может 🙈
Ну хз, я и типами пыха и типами псалма обмазываюсь. Потому что если надо, можно скомпилить одной кнопочкой потом без них
источник