Size: a a a

2021 August 26

S

Slava in symfony
DELETE FROM users WHERE (id IN (?)) AND (users.deleted = false)
источник

S

Slava in symfony
Понимаю, что такой метод не должен в память грузить юзеров по $usersIds — уточняю на всякий случай )
источник

gp

gogi power in symfony
так лучше ж проверить )
источник

✨Basic_Instinct✨ in symfony
только если не указан каскад
источник

gp

gogi power in symfony
попробуй дерни етот метод из контроллера, зайди в профайлер и посмоти какие запросы выполнялись, поймеш что догружалось
источник

S

Slava in symfony
Верное замечание )
источник

S

Slava in symfony
Благодарю за наводку
источник

ЕК

Евгений Котов... in symfony
всем привет) как считаете, https://github.com/dg/bypass-finals костыль или норм? придерживаюсь подхода "по дефолту везде final", но в тестах проблемы с моками
источник

AC

Andru Cherny in symfony
Мы юзаем для тестирования. Норм тема
источник

SP

Sergey Protko in symfony
кастыль, вы явно что-то делаете не так
источник

SP

Sergey Protko in symfony
Final classes only work effectively under following assumptions:

- There is an abstraction (interface) that the final class implements
- All of the public API of the final class is part of that interface

If one of these two pre-conditions is missing, then you will likely reach a point in time when you will make the class extensible, as your code is not truly relying on abstractions.
источник

SP

Sergey Protko in symfony
источник

ЕК

Евгений Котов... in symfony
ну а final'ы по дефолту - норм ведь? класс без final - только когда мы явно предусматриваем возможность наследоваться
источник

SP

Sergey Protko in symfony
final по дефолту если у класса есть implements. иначе придется гарадить кастыли. Люди не насколько дурные что бы наследоваться так часто. Ну и еще идея - вдруг у тебя проблема с большим количеством зависимостей что ты так мокать все подряд любишь и не любишь интерфейсы
источник

SP

Sergey Protko in symfony
короч если выбирать "тупой дефолт и кастыли" и "доверять людям даже если я им не доверяю и просто объяснить им не юзать наследование" я выберу второе.
источник

SP

Sergey Protko in symfony
если ты с yii-никами работаешь и у них прям уж сласть как хочется сделать абстрактный Model от которого все экстендится или еще какой трэш - ну может быть дефолт не такой дурной
источник

ЕК

Евгений Котов... in symfony
имеется ввиду что я должен мокать по интерфейсу, верно?
источник

SP

Sergey Protko in symfony
по хорошему - да. Если лень делать интерфейс - просто не делай класс final.
источник

SP

Sergey Protko in symfony
но чаще проблема с тем что ты мокаешь и надо ли там вообще моки юзать
источник

ЕК

Евгений Котов... in symfony
столкнулся просто, кастомную ретрай стратегию для мессенджера запилил, хочу такой юнит тест запилить, а там Envelope класс финальный, без интерфейса, эх(
и вернулся к вопросу о final
со своими реализациями проблем особо нет
источник