Size: a a a

2020 June 03

KN

Kirill Nesmeyanov in PHP
Aleksandr Khristenko
чтобы можно было аннотировать возвращаемое значение Either<A, B> и были его подклассы Left и Right, getData которых возвращал бы типы A и B соответственно
.phpstorm.meta.php же
источник

KN

Kirill Nesmeyanov in PHP
 override(either(), map(['' => '@']))
источник

KN

Kirill Nesmeyanov in PHP
вроде как
источник

KN

Kirill Nesmeyanov in PHP
а, не, это для другого
источник

KN

Kirill Nesmeyanov in PHP
хотя вроде как должно прокатить
источник

KN

Kirill Nesmeyanov in PHP
ну это, типа, обозначает, что функция возвращает то, что в неё передали
источник

A

Aleksandr Khristenko in PHP
Не, я видимо хреново объясняю, что мне нужно.
источник

KN

Kirill Nesmeyanov in PHP
а, всё, кажется понял
источник

A

Aleksandr Khristenko in PHP
А на счет монады, это не просто коробка. Это коробка с методами pure/bind, которые должны удовлетворять неким законам.
источник

KN

Kirill Nesmeyanov in PHP
Aleksandr Khristenko
Не, я видимо хреново объясняю, что мне нужно.
я только апи не могу придумать)
источник

KN

Kirill Nesmeyanov in PHP
но кажется делается не сложно и самостоятельно
источник

KN

Kirill Nesmeyanov in PHP
а с автокомплитом придётся подумать
источник

KN

Kirill Nesmeyanov in PHP
не, через мету никак
источник

A

Aleksandr Khristenko in PHP
https://psalm.dev/r/b340ce3c51
т.е. я что-то типа такого хочу
источник

KN

Kirill Nesmeyanov in PHP
эм, @return int|string?
источник

A

Aleksandr Khristenko in PHP
Kirill Nesmeyanov
эм, @return int|string?
Это утрированный пример. Там вполне может быть Either<string, string>
источник

A

Aleksandr Khristenko in PHP
Хотя да, если не делать Either монадой, а это вроде и не получится, то можно просто добавить класс-обертку Err.
Тогда будет @return Err<string>|string
источник

SB

Sergei Baikin in PHP
Aleksandr Khristenko
Собственно повторю свой вопром, может кто-то какую-нибудь реализацию Either уже покрытую типами знает?
Для случаев, когда из функции нужно возвращать или успешное значение или сообщение об ошибке.
Я вот это пользую
https://github.com/prewk/result
источник

SM

Sasha Mikhlyaev in PHP
встречал Some|None реализации. Either не попадалось
источник

AM

Artem Molotov in PHP
Kirill Nesmeyanov
ну как раз хуже вполне
некоторые люди lazy в доктрине юзают, а это без сеттеров/геттеров вроде как не работает
источник