169 похожих чатов

Норм юзать анонимный класс, который имлементирует интерфейс вместо анонимной ф-ции,

чтобы получить преимущества типов?

12 ответов

17 просмотров
Vlad-Petrov Автор вопроса

типа такого https://pastebin.com/a5RQVzkb

А почему с анонимной функцией нельзя получить преимущество?

Потому что ему там надо чтобы анонимная функция которая передается как аргумент имела 3 параметра и возвращала boolean, увы method(callable $f) не описывает в полной мере его требований, по этому он хочет интерфейс в котором уже описать все требования

Норм, интерфейс явно лучше голого callable будет

Но ведь через аннотации псалма это вполне себе описывается

Да уже увидел, не обратил внимание, но всё равно если можно решить нативно то лучше так, а то придет человек с VS Code увидит что надо передать callable а какой именно непонятно, так как поддержки псалм аннотаций нету

У vscode есть, подняв lsp server*

Vlad-Petrov Автор вопроса

Только для псалма. Автокомплит пока не работает, рефакторинг ide не работает. В java для этого есть тип для лямбды. В пхп бы тоже не помешало

Ну не говоря уже о том что поддержка есть, типы ожидаемые то у него будут описаны в аннотации, так что увидит он что нужно передать

Vlad-Petrov Автор вопроса

Ну когда псалм будет полностью поддерживаться в шторме, тогда может и не будет проблем.

Я так и не понял в чем проблема)

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта