Расширение класса внешними методами и переменными

AmdY

Пью пиво
Команда форума
С учётом отсутствия вложенности, все эти аннотации выглядят сомнительной темой. Как и с типами придётся подпирать костылями из phpdoc до php 9 или php X.
 

WMix

герр M:)ller
Партнер клуба
я кстати не врублюсь а зачем еще вложенность? ты же про аttributes, там достаточно напутали с синтаксисом. и что-то мне говорит, что переход с <<Foo>> на #[Foo] был как раз из-за вложенности
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
это вопрос не кода, а SDLC
и это не выбор, #[Immutable] будет стандартом де-факто

я встречал ровно 0 проектов, где @psalm-* аннотации валидируются в CI, только единичные разработчики пишут это для себя, чтобы ЧСВ потешить, типа, я не говнокодер как все, я аннотации пишу,
но ценность аннотаций именно в том, чтобы сделать их стандартом, и валидировать для всей команды,
а на команду в 10+ человек можно что-то натянуть только когда это промышленный стандарт,

вот когда этой осенью в последний шторм psalm зашел "из коробки", это немного изменило дело, а так-то этих валидаторов пруд...
вчера общался насчет большого проекта, в котором какой-то scrutinizer: - а че не phpstan/psalm? - админ умел его прикручивать к сборщику
 

Вурдалак

Продвинутый новичок
#[Immutable] будет стандартом де-факто
Ставлю на то, что нет. Вроде бы в PHP-FIG обещали летом сделать PHP 8 атрибуты, которые и будут стандартом де-факто.

Маневр PhpStorm мне как-то не очень ясен. У них же @immutable/@psalm-immutable уже работает, подчеркивает как нужно. Зачем это делать этот псевдо-C#-синтаксис, я не очень понял.
 

Вурдалак

Продвинутый новичок
я встречал ровно 0 проектов, где @psalm-* аннотации валидируются в CI, только единичные разработчики пишут это для себя, чтобы ЧСВ потешить, типа, я не говнокодер как все, я аннотации пишу,
Я встречал. И это еще при том, что @immutable (можно и @psalm-immutable, whatever), проверяется в ДВУХ местах (PhpStorm и CI), а `#[Immutable]` — только в PhpStorm.
 

Yoskaldyr

"Спамер"
Партнер клуба
Насчет стормовского #[Immutable] уже много где написали что это классический NIH синдром
И это учитывая что половину юзкейсов #[Immutable] и раньше делали через @property-read (что сторм знает и умеет очень давно)
А учитывая @immutable, то смысла в данный момент точно нет

Но хоть небольшой положительный момент - только что проверил и последняя версия уже нормально автокомплитит #[Immutable]. Хотя изначально, сразу после включения этой фичи, автокомплит работал очень криво, пока не добавлялся неймспейс. Но хоть автокомплит и работает и автоматом добавляет неймспейс в use блок, но все равно без стабов ругается на неизвестный неймспейс (это поведение не изменилось с начала добавления фичи). Так что как-то реализация не до конца допилена.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
не спорю, мне, в принципе, все равно, но аннотация скорее всего победит
 
Сверху