в математическом проекте эта функция использовалась бы везде то что мешает создать трейт с функцией Sin () ? нарушает архитектуру? действует как глобальная переменная? да ладно. Константы же можно использовать
В данном конкретном примере трейт на фиг не нужен - это пишется в функцию sin(), а не в метод трейта :)
ну еслиб не синус была функция, А bitroin() то что ? И что про DI тогда ?
Переформулировать твою мысль? Если не табурет, а стул, то что? И что про жильцов тогда?
ну я же о том что если есть функция. которая используется много где, то почему бы ее в трейт не вынести?
Зависит от того, что это за функция, какие цели выполняет и от чего она сама зависит.
зависит только от входных данных если. например , вырезает из входящего со сторонних сайтов текстов спец символы
Так пусть и останется функцией , зачем его в трейт запихивать?
Это функция. Нехер ей ни в трейтах делать, ни в методах классов
а константы как подключать которые нужны?
А вот если бы она зависела от значения какого-либо атрибута, определённого в классе, тогда да, трейт.
Через обращение к ним?)
Потому что для этого она выносится в отдельный или хелпер или сервис. Трейты сделают эту функцию частью класса. Если у тебя есть класс например для расчёта площадей участков земли, то она может вызывать синус, но он от этого не станет частью этого класса
Константы - это зависимость, и зависит от того, какие они. Если публичные - трейт это оверхед. Если приватные, тогда да.
но мы же тогда этот трейт не будем подключать
ну то есть трейти это зло потому что они в класс внедряют лишний код?
Ты слишком обобщил свой тезис, который посыпался на конкретном примере. Если трейты нужны - пользуй, не нужны - не пользуй
Обсуждают сегодня