@yii2ru

Страница 1443 из 1721
Like
02.07.2018
17:51:44
Хули сложного

$search->addFilter(new SomeFilter(), new SomeFilter2()); $search->addFilter(new SomeFilter3()); 1ое - если отработает SomeFilter или SomeFilter2, то SomeFilter3 не будет выполнен 2ое - если SomeFilter вернет результат (возвращаешь что угодно), это результат полетит в SomeFilter2 (привет цепочка вызовов Promise js). Если SomeFilter2 ничего не возвращает, то тебе вернется ответ из SomeFilter и аналогично обратное: если SomeFilter ничего не вернул, но вернул SomeFilte2, то вернется его результат 3ое - если SomeFilter и SomeFilter2 не вернули ничего, то пойдет выполняться SomeFilter3 Изи же

Ad.x ??
02.07.2018
17:55:22
я представлял себе другое исходя из кода

Like
02.07.2018
17:55:36
Там будет выполняться цепочка до первого отработанного фильтра

Google
Like
02.07.2018
17:55:52
Я просто не показал, что можно добавлять на выполнение N фильтров

И не сказал, что не все будут выполнены

Ad.x ??
02.07.2018
17:56:21
какой-то неочевидный поиск

Like
02.07.2018
17:56:49
Я просто юзаю фильтры

Хули ты

Все там нормально с ним

Он ищет по заданным параметрам

Ad.x ??
02.07.2018
17:57:05
ну фильтров если 4, то они могут работать же одновременно

Like
02.07.2018
17:58:07
ну фильтров если 4, то они могут работать же одновременно
Сигнатура метода addFilter (бля, название херовое) public function addFilter(Filter ...$filters): self

Ad.x ??
02.07.2018
17:58:51
ну может адд фильтр сбивает с толку хз. но это вот ваще не очевидно что там по очереди будут использоваться фильтры

Like
02.07.2018
17:59:21
Дык а как я тебе это объясню названием метода? Если есть варианты - накидывай

Ad.x ??
02.07.2018
17:59:44
причем первый вернувший результат станет последним

да и вообще не понятно для чего именно такая схема работы

Google
Like
02.07.2018
18:00:20
Я ваще для себя писал, я просто предлагал кому-нибудь оформить (естесена отрефакторив малеха)

Ad.x ??
02.07.2018
18:00:27
очень спецефично как-то

Ad.x ??
02.07.2018
18:00:39
не очевидно

вот щас стало очевидно чтобы хоть что-то вернуло

Like
02.07.2018
18:01:58
вот щас стало очевидно чтобы хоть что-то вернуло
Придумать нормальные названия и вперед

Я пишу тестовое и мне ваще поебать, я мог бы остановить нарушение OCP

Ad.x ??
02.07.2018
18:03:10
тут сама концепция какая-то хитровыебаная, без бутылки не разобраца )

Like
02.07.2018
18:03:45
Бож

Шо тебе еще не понятно

Ad.x ??
02.07.2018
18:04:43
все не понятно. вот смори. допустим ты собрался серч сервис делать так да? логично чтобы он сам себе форму строил исходя из добавленых фильтров?

Like
02.07.2018
18:04:48
Там в исходниках 100 строчек кода, хуль разбираться

Ad.x ??
02.07.2018
18:05:05
я не видел те исходники, кусками тока

Like
02.07.2018
18:05:06
Ты ваще их не видел

Он сам себе ее и строит
Там строить нечего

У фильтра есть метод execute который возвращает что-то Это что-то будет переданно в дальнейшие фильтры (если они существуют)

И в конце концов, вернется результат

Ad.x ??
02.07.2018
18:05:45
Он сам себе ее и строит
почему тогда по очереди фильтры юзаются и до первого попавшегося результата?

Like
02.07.2018
18:06:00
Google
Like
02.07.2018
18:06:07
2 сразу можно, а еще 2 должны только по одному

Максим
02.07.2018
18:06:39
какой-то неочевидный поиск
+ с этим соглашусь, наверное проще через обычный where сделать

Like
02.07.2018
18:06:41
4 фильтра - 2 из них одновременно могут, остальные 2 - только по одному 2 || 1 || 1

Это даже не поиск ?

Это просто удобная штучка для склеивания запросов в зависимости от гет параметров

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

Максим
02.07.2018
18:08:16
Это просто удобная штучка для склеивания запросов в зависимости от гет параметров
Я бы такое назвал ООП головного мозга)) и это пишет тот, кто фпшник

Like
02.07.2018
18:08:25
Причем тут ваще это

Я могу те ща карринг наебашить и в композицию попробовать, но а чо какой смысл

Ad.x ??
02.07.2018
18:08:50
Это просто удобная штучка для склеивания запросов в зависимости от гет параметров
ну в уии например есть and\orFilterWhere(), шоб вот так набрать и все че нада )

Like
02.07.2018
18:08:55
Правда, пыха вряд ли осилит композицию

Максим
02.07.2018
18:09:01
Причем тут ваще это
А если будет 40 гет параметров, тоже под каждый отдельный класс создавать?

Like
02.07.2018
18:09:12
ну в уии например есть and\orFilterWhere(), шоб вот так набрать и все че нада )
В ларке для этого юзаются https://laravel.com/docs/5.6/eloquent#query-scopes

Максим
02.07.2018
18:09:20
Давай ещё под каждое значение параметра создадим класс) и будем в конструктор совать

Like
02.07.2018
18:09:21
Оно тебя никак не ограничивает

Максим
02.07.2018
18:09:42
Like
02.07.2018
18:09:47
Google
Ad.x ??
02.07.2018
18:09:58
А если будет 40 гет параметров, тоже под каждый отдельный класс создавать?
ну задумка понятна, и даже интересная. в духе симфонии )

Максим
02.07.2018
18:10:05
На каждый пук свой модуль с тремя интерфейсами и прочей мишурой

Ad.x ??
02.07.2018
18:11:25
ну удобно добавить метод и не лезть в шаблон потом добавляя поле, анпример

для ввода

Like
02.07.2018
18:13:20
Как я люблю говорить



Ad.x ??
02.07.2018
18:13:30
Я изначально это видел по другому, поэтому названия остались старые в некоторых местах
я когда посморел тож увидел все подругому. короче какую-то очередную бесполезную фичу придумал. нада переделать имхо )))

Like
02.07.2018
18:13:33
Вот вам лямбда и карринг Все, я фпшник, отвалите

Admin
ERROR: S client not available

Like
02.07.2018
18:13:37
Дайте я уже напишу эти тесты

Изменишь свое мнение

Ad.x ??
02.07.2018
18:14:39
Изменишь свое мнение
врятли, я успел разглядеть кусок кода внутрях )

пока не удалил

Like
02.07.2018
18:14:48
Это были не внутренности

Ad.x ??
02.07.2018
18:14:55
а шо это было?

Like
02.07.2018
18:14:58
Это был старый код, который я поменял

На фильтры выше

Ad.x ??
02.07.2018
18:15:12
аа

Google
Like
02.07.2018
18:15:17
Фильтры выше - аналог той дичи, что ты видел

Ad.x ??
02.07.2018
18:15:31
там в фильтрах пресеты для формы как я понял да?

Фильтры выше - аналог той дичи, что ты видел
че сразу дичи, не обижай а, у меня все так и ваще не парит ))

Like
02.07.2018
18:16:04
Что такое > пресеты ?

Изначально там у тебя builder который ты передаешь, я не контроллирую этот процесс

И из фильтра ты можешь вернуть абсолютно что угодно

Ты пишешь фильтры и знаешь, что каждый из них вернет, они выполняются в порядке в котором ты их добавил

Никакой магии

const firstFilter = builder => 2; const secondFilter = builder => builder + 3; // builder = 2

Like
02.07.2018
18:18:40
что он билдит то?
Бля, ты не понял что я сказал

Ad.x ??
02.07.2018
18:18:49
нет конечно )

Like
02.07.2018
18:19:05
То, что ты передаешь - с того он и начнет

Ему похуй что ты туда суешь Он это кормит фильтрам, которые ты пишешь

Ad.x ??
02.07.2018
18:19:42
ты передаешь некий объект, в нем что?

Like
02.07.2018
18:19:44
Хоть null ему засунь

Ad.x ??
02.07.2018
18:19:58
нах ему нулл )

Like
02.07.2018
18:20:14
Блять

Ad.x ??
02.07.2018
18:20:22
Query builder ларовский
откуда он береца? инжектица чтоль?

Like
02.07.2018
18:20:31
Нет, ты ему пихаешь, ЧТО ТЫ ЗАХОЧЕШЬ

Фильтры пишешь ты

Страница 1443 из 1721