Konstantin
мне нужно сформулировать мысль в итоге. А то она пока у меня витает
А
UserController подразумевает обработку уже конкретной модели пользователя. а для этого она должна быть определена
Konstantin
пасиб
А
опять же точек аутентификаций может быть множество, а пользователь прошедший аутентификацию один
Konstantin
Да тупо всё даже в читабельность упирается
Konstantin
AuthController - это понятно. Логично
Konstantin
UserController - не понятно
А
https://meduza.io/quiz/ruby-ili-perl-ugadayte-yazyk-programmirovaniya-po-kodu 9 из 10 )
Konstantin
чет я с котлином обломался
А
а я попутал свифт с в обжект-с. и (о позор мне!) тупанул на репле. смутило то что посчитал что в перле регулярки в кавычках должны быть
Konstantin
не, перл я узнал )
Konstantin
а вот котлин чертовски похож на пхп )
Nik
скорее на джавку
Anton
https://medium.com/@kamerk22/the-smart-way-to-handle-request-validation-in-laravel-5e8886279271
Anton
Чувак говорит о том что задача контроллера это получить реквест и отдать респонс. Даже валидация в контроллере нарушает принцип SRP
Anton
Вру. Не тейлор
Anton
Чота с блога Тейлора попал на статью. Но все равно согласен )
Anton
А Тейлор оказывается людей нанимает на работу о_О
А
так для валидации есть реквесты которые передаются в контроллер. если не прошел валидацию по реквесту то и перекинет назад (или отдаст ошибки в ответе если аяксом запос был). так что все норм по логике
А
тут спорное утверждение
А
но по хорошему мне кажется лучше делать через скоупы в модели
Anton
Чем спорное? Тем что я изолированно не смогу без контроллера функционал протечтировать
Anton
А если вынесу эту логику куда то, то смогу
А
ну так многие же пишут по принцыпу "что не запрещено - разрешено" и по тому что им так удобно )
А
вот если бы их били за говнокод... вот тогда может быть и писали бы нормально )
Владислав
@andrew_a_v это вы не про себя сейчас? :D Вас бы первого побили за секретки в коде.
Владислав
Ну как бы да ) Все не идеальны )
Nik
в модель вообще ничего не стоит пихать
А
в модель вообще ничего не стоит пихать
что ты подразумеваешь под "ообще ничего"? а как же релейшены, скоупы, мутаторы, подключение обсервера и т.п.?
Nik
релейшен и мутатор можно оставить
MAGI
да по идее некоторую бизнес-логику вроде тоже в модели выносят, нет?
Nik
да по идее некоторую бизнес-логику вроде тоже в модели выносят, нет?
AR сам по себе это уже нарушение солид. сначала чуток логики в модель, потом глобал скоуп где-нибудь в буте, пару сеттеров, а потом в итоге ты окуеваешь от того, какая неявная магия происходит внутри
Nik
так что нет.
MAGI
AR сам по себе это уже нарушение солид. сначала чуток логики в модель, потом глобал скоуп где-нибудь в буте, пару сеттеров, а потом в итоге ты окуеваешь от того, какая неявная магия происходит внутри
глобал скоупы стараюсь не юзать) лучше просто на каждый запрос явно юзать скоп, потому что так реально очевиднее. А насчет логики в модели, почему нет? $car->drive('west', 50);
Nik
я выше описал почему. потому что у меня в проекте сейчас базовый класс для всех моделей занимает 2800 строк и там такая пиздота внутри. хотя проект писали 2 синьйора как бы. пришлось просто слой моделей взять и выбросить
Даниил
Всем привет. Есть задача: фильтрация клиентов с определенными параметрами и далее сохранение результатов этой фильтрации в отдельные списки клиентов. Работать этот функционал должен в двух режимах: 1. Статичный список. В этом случае понятно - просто копируем все client_id из нужной выборки и привязываем их к отдельному списку клиентов. 2. Динамический список. В этом случае результат фильтрации должен обновляться раз в несколько минут и новые клиенты, которых еще не было в сохраненном списке, должны в него сохраняться. Вопрос: как лучше сделать второй пункт? В голову приходит сохранение query builder и потом вызывать от него выборки каждые несколько минут Заранее спасибо за ответы)
MAGI
даже лого откуда-то стырено. Вот точно где то видел
MAGI
@perin
Владислав
"Выжми из бизнеса всё", это про нашу бюрократию и налоги. А все эти книжки, так, ерунда маркетинговая )
Anton
я этим практикам следовал еще с версии 5.0
Anton
другая сторона медали: делать запросы к елке в контроллерах. Эта привычка побудит делать контроллеры по 2500к если проект будет расти. Технический долг начнет расти быстро
Anton
это как теория разбитых окон если кто слышал
Anton
я уже такое видел много раз. видел один контроллер в 4 тыс строк, где 6 case по 500 строк и еще куча всего ))))
Anton
я сам стараюсь представить модель как доменную модель. Это не только класс модели, но и все вспомогательные классы. богатая домменая модель как одно целое
Maksim
не понял твоей фразы
Да я просто рад видеть тебя, тут в чате, судя по уровню вопросов, в основном, люди и пихают логику в контроллер и ёлку.
Anton
Aggregate root типа?
ну нет. DDD тяжело применить. Просто лайтовая версия
Anton
как то логически с точки зрения бизнеса сгруппировать. Например Order, OrderService, OrderRepository, etc. Может не совсем по всем практикам, но это гораздо легче поддерживать чем все яйца в кучу
Maksim
Меня забрызгало чьим то чсв.
Таки показалось вам, сударь. Чем больше работаю и вникаю в суть программирования, тем больше понимаю, что я ещё только в начале пути.
Владимир
Владимир
Народ, в таблице со статусами есть статусы с company_id = 1
Владимир
Я из компании пытаюсь таким образом получить статусы для компании 2
Владислав
wgereHas погугли
Владимир
Ага, сейчас, спасибо
Maksim (Ellrion)
странная связь какая то
Владимир
Все таки похоже что это немного не то) Мне нужно из компании с ид 2, получить статусы компании с ид 1
Maksim (Ellrion)
при жадной загрузке например у тебя не будет $this->id вообще. будет null
Владимир
Тобиш релейшен примерно такой "получаем статусы текушей компании и компании с ид 1"
Владимир
Хмм, а как можно по нормальному реализовать получение каких-то дефолтных данных?
Владимир
Например статусов в моем случае
Maksim (Ellrion)
Тобиш релейшен примерно такой "получаем статусы текушей компании и компании с ид 1"
опять же это не будет работать при жадной загрузке. мб не стоит делать это релейшеном?
Владимир
Да, наверное
Maksim (Ellrion)
определи нормальный релейшен статусов. дополнительно определи метод который будет возвращать данные релейшена (коллекцию) и мержить ее с дефолтными
Владимир
Да, я понял идею. Пожалуй так и сделаю сейчас
Владимир
Спасибо большое
Maksim (Ellrion)
если метод получения статусов дефолтных так же будет самокешируем в модели статусов то получишь и нормально работающие жадные загрузки и не будет проблемы множества запросов
Maksim (Ellrion)
кстати минутка образования: кто знает термин мемоизация? а кто не знает загуглите и будете знать)