Size: a a a

2020 July 27

АГ

Алексей Гевондян... in PHP
чтобы при написании кода, в случае попытки выполнить то, что нельзя сделать над этим объектом, IDE предупреждала, что в коде ошибка.
источник

SP

Sergey Protko in PHP
в моем примере с нормалайзером есть фреймворк который предоставляет точку расширения - мол ты для своих типов можешь сделать свои штуки. Мне как автору фреймворка плевать что за типы там будут. Как разработчику который фреймворк юзает мне не плевать что в мои нормалайзеры приходит.

Как следствие тип я могу параметризовать что бы разработчик мог указать свой
источник

АГ

Алексей Гевондян... in PHP
как вариант при компиляции / проверке кода должна эта проблема обозначаться
источник

АГ

Алексей Гевондян... in PHP
ну требование одно - реализовать некий интерфейс. почему это не может быть пустой интерфейс?
источник

SP

Sergey Protko in PHP
Алексей Гевондян
ну требование одно - реализовать некий интерфейс. почему это не может быть пустой интерфейс?
потому что это равносильно object
источник

SP

Sergey Protko in PHP
"хуй знает что там будет"
источник

АГ

Алексей Гевондян... in PHP
нет, object это любой класс, в т. ч. и StdClass. а SomeInterface{} это конкретная штука уже вполне
источник

SP

Sergey Protko in PHP
Алексей Гевондян
нет, object это любой класс, в т. ч. и StdClass. а SomeInterface{} это конкретная штука уже вполне
ты сериализацию делал?
источник

АГ

Алексей Гевондян... in PHP
json_encode норм
источник

SP

Sergey Protko in PHP
бля
источник

SP

Sergey Protko in PHP
я все, удачи)
источник

АГ

Алексей Гевондян... in PHP
да, спать пора)
источник

A

Aleksandr Khristenko in PHP
Алексей Гевондян
не понимаю, чем это лучше чем Item[]
Ну, потому что в идеальном мире у нас может быть Array implements Functor, Maybe implements Functor, и функция с сигнатурой map<F:Functor,A,B>(data: F<A>, fn: A -> B): F<B>
источник

A

Aleksandr Khristenko in PHP
Алексей Гевондян
чтобы при написании кода, в случае попытки выполнить то, что нельзя сделать над этим объектом, IDE предупреждала, что в коде ошибка.
Окей. То есть для того, чтобы нам до момента запуска проверить соответствие типов. Так?
источник

АГ

Алексей Гевондян... in PHP
да, для этого...
источник

A

Aleksandr Khristenko in PHP
Алексей Гевондян
да, для этого...
Окей. И как тут может помочь то, что в пыхе динамическая типизация и мы может все запустить со всем?
источник

A

Aleksandr Khristenko in PHP
Нам же нужно проверить до запуска.
источник

АГ

Алексей Гевондян... in PHP
Sergey Protko
ты сериализацию делал?
если сериализация нужна какая-то особенная, то и под нее можно интерфейсы сделать. есть же JsonSerializable... или я опять что-то не понимаю...
источник

A

Aleksandr Khristenko in PHP
Алексей Гевондян
если сериализация нужна какая-то особенная, то и под нее можно интерфейсы сделать. есть же JsonSerializable... или я опять что-то не понимаю...
Сек. Я тебе сейчас пример приведу.
источник

АГ

Алексей Гевондян... in PHP
Aleksandr Khristenko
Нам же нужно проверить до запуска.
идешка видит что не то делаешь / стат анализаторы проверяют и находят что не то делаешь, и оповещают об этом. а если проигнорить - то на этапе выполнения возникнет ошибка... вроде как очеивидно все... не пойму, в чем затык то у меня...
источник