Size: a a a

2020 December 23

КГ

Константин Грачев... in PHP
Maksim Masiukevich
меня самого долго пинали базовым классом для саг, но объективно я не вижу ни единого варианта его замены на что-то более "адекватное", что не заставило бы клиентский код экстендить что-либо
Дык может у людей уже есть свой базовый класс, а
источник

КГ

Константин Грачев... in PHP
а экстендить свой базовый от твоего по каким то причинам не хотят)
источник

ИЛ

Иван Лещёв in PHP
значит надо делать свой логгер от абстрактного и включать его зависимостью
источник

КГ

Константин Грачев... in PHP
А трейт с интерфейсом навесить дополнительно легко почти без ограничений.
Ну то есть понятно, что уже звучит как хуета, но должна ли либа ограничивать возможность делать дичь которая не особо связана с либой)
источник

ИЛ

Иван Лещёв in PHP
а это вот, логгер и не логгер в куче - это смешивание интерфейсов
источник

ИЛ

Иван Лещёв in PHP
Maksim Masiukevich
есть секта адептов "выпилим аннотации, так это код фреймворка", но строго говоря это не имеет особого значения. Ни базовый класс, ни трейт не приведут тебя ни к каким проблемам. И с точки зрения разраба либы это самый дешёвый и безотказный вариант
из дерева пусть выпиливают
источник

ИЛ

Иван Лещёв in PHP
Maksim Masiukevich
а делать EventSourcedTrait и лепить для него AggregateInterface - ну такое
поскольку никто не придумал столь же ценную вторую штуку, то я согласен, что этому место в базовом абстрактном классе
источник

MM

Maksim Masiukevich in PHP
Константин Грачев
А трейт с интерфейсом навесить дополнительно легко почти без ограничений.
Ну то есть понятно, что уже звучит как хуета, но должна ли либа ограничивать возможность делать дичь которая не особо связана с либой)
а если у них в базовом классе метод с таким же именем?)
источник

КГ

Константин Грачев... in PHP
Maksim Masiukevich
а если у них в базовом классе метод с таким же именем?)
Поэтому и написал "почти" без ограничений)
источник

MM

Maksim Masiukevich in PHP
ну т.е. ничего не изменилось)
источник

КГ

Константин Грачев... in PHP
Maksim Masiukevich
ну т.е. ничего не изменилось)
Изменилось. Может у меня уже есть наследование от другого вендора
источник

MM

Maksim Masiukevich in PHP
ну, в данном случае ты практически гарантированно делаешь хуиту и тебя трейты не спасут, только ухудшат положение
источник

КГ

Константин Грачев... in PHP
Maksim Masiukevich
ну, в данном случае ты практически гарантированно делаешь хуиту и тебя трейты не спасут, только ухудшат положение
Да, но твои ограничения всё равно умнее никого не сделают, а либо уменьшат аудиторию либо вынуят ещё какую хуету сделать чтобы твою либу интегрировать
источник

ИЛ

Иван Лещёв in PHP
cs fixer остался
источник

MM

Maksim Masiukevich in PHP
Константин Грачев
Да, но твои ограничения всё равно умнее никого не сделают, а либо уменьшат аудиторию либо вынуят ещё какую хуету сделать чтобы твою либу интегрировать
да и пофиг)
источник

AD

Andrey Dembitskyi in PHP
Иван Лещёв
cs fixer остался
Прод не обновится(((
источник

ИЛ

Иван Лещёв in PHP
Andrey Dembitskyi
Прод не обновится(((
ну справедливости ради, он просто не работает, а обновлению не мешает
источник

AD

Andrey Dembitskyi in PHP
Иван Лещёв
ну справедливости ради, он просто не работает, а обновлению не мешает
Поставь две версии пхп)
источник

КГ

Константин Грачев... in PHP
Maksim Masiukevich
да и пофиг)
Скажем тебе ничего не стоит вынести функционал из твоего базового класса в трейт и вынести интерфейс. И обратная совместимость цела, и теперь противники наследования смогу затащить твой трейт)

Повторюсь - да хуета, но форсить нормальный код нужно чуток другими способами
источник

MM

Maksim Masiukevich in PHP
Константин Грачев
Скажем тебе ничего не стоит вынести функционал из твоего базового класса в трейт и вынести интерфейс. И обратная совместимость цела, и теперь противники наследования смогу затащить твой трейт)

Повторюсь - да хуета, но форсить нормальный код нужно чуток другими способами
ты меня с тейлором перепутал
источник