170 похожих чатов

Всем привет! Где лучше всего хранить класс, который фильтрует модель?



В контроллере передаём модель и request данному классу для фильтрации. По понятиям SOLID.

В папке app создать директорию Filters на уровне Models?

25 ответов

22 просмотра

"фильтрует модель"? это как?

Элин- Автор вопроса

А, извиняюсь, немного неправильно выразился. Если простыми словами, есть товары (Products), реализовано фильтр в виде класса, который принимает коллекцию и request. Исходя из переданным в get параметром фильтрует список products.

По понятиям солид похер где хранить. Я бы хранил так App/Products/Models App/Products/Filters

Элин- Автор вопроса

Не, бро, этож каша 🥣, не? А остальные модели где хранить, в апп/моделс?

Элин- Автор вопроса

Ну по солиду да, эти принципы никак не про директории, но хорошие практики соблюдать нужно, вот и советуюсь с вами :)

У меня давно не было, чтобы все модели были в одном месте. Но если сейчас у тебя так, то да, лучше создавай папку на уровне с молелс

Есть еще ддд

Не используйте реквест на вход

Элин- Автор вопроса

С ним ещё не знаком. А про что это если коротко? Только аббревиатуру видел

Элин- Автор вопроса

Выделить нужные params и передать?

Можете в контроллере передавать $request->all()

Коротко не получится, но возможно основная идея - это хранить логику модульно и чтобы модули не зависили друг от друга

Элин- Автор вопроса

А, понял. Хорошо. Спасибо 🙏🏻

О нет(

А почему не ->input()?

Так и знал что сказал херню

Элин- Автор вопроса

А как мы с помощью input получим все парамсы? Туда же нужно ключ передать

Просвятишь?)

Вариантов масса. Зависит от задачи

Без параметра возвращает всё

Элин- Автор вопроса

Хм, ясно. Нужно взглянуть в доку, думаю, возможно там есть что-то другое для работы с парамс помимо has. Input всё же мне кажется больше для вводных каких-то целей.

Идея ддд не в коде. Модули и прочие решения — это лишь хорошее сопровождение для реализации ddd, но не его цель.

👍

Ну насколько я понял (залез в код только что) , то ->input() - это все данные без файлов А ->all() - это ->input() + ->allFiles()

Элин- Автор вопроса

О, интересно

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта