7 часов назад
Так как уже выложил — оставлю так, далее будем сокращать названия.
ms3FirstTimeBuyerDiscount - автоматическая скидка на первый заказ 4
9 часов назад
А теперь все эту красоту оформляем в виде сниппета. Параметры по-умолчанию редактируем в самом сниппете
elements/snippets/bgImage.php
<?php
/**
...
Унифицированное отображение разноформатных изображений без обрезки (решено) 1
Вчера в 17:14
Это не ошибка, а warning — посмотрим, спасибо!
UPD github.com/modx-pro/MiniShop3/pull/127
MiniShop3 1.2.0 - 1.3.0 Самое интересное 23
01 марта 2026, 14:45
Добавил сиcтемную настройку ms3recentlyviewed.block_bots_detector и интегрировал jaybizzle/crawler-detect
ms3RecentlyViewed - Недавно просмотренные товары для MiniShop3 5
01 марта 2026, 14:38
В следующий раз сделаю как положено)
Gallery3x 3.0.31 для MODX3 - управление файлами 2
28 февраля 2026, 15:20
Всем привет!
Версия модуля 1.4.0
Необходимо обновить наименования товаров.
Выбираем Тип импорта — Обновить данные товаров
Соответствие Столбца Наз...
msImportExport 919
27 февраля 2026, 21:26
Настройками нельзя, только написанием своего плагина, который будет проверять необходимые условия. Если сами не справитесь, могу написать его за отдел...
Вопрос по msProductDiscounts 4
25 февраля 2026, 17:49
Добавлен также генератор разнообразных типов опций товара в разном количестве для разных наборов и их заполнение у товаров.
ms3DemoData - компонент для быстрой генерации демо-данных MiniShop3 3
тык
Исходя из этого бенчмарка Lucinda быстрее laravel в 47 раз
За что я ненавижу Eloquent ORM а также тысчи подобных статей и обсуждений к ним
Конечно еще сильнее становится заметно чем обычный hello world, чем больше связей, чем больше данных тем более заметно, но это все не критично, laravel — идеальный php фреймворк, его выбирают за простоту работы, за то, насколько просто найти разработчика на него и насколько быстро можно реализовывать фичи, если недостаточно laravel'я, то стоит задуматься не о других фреймворках, а о других ЯП уже
Оооо… тут вообще можно бесконечно рассуждать, говоря о кешировании, вы как, батенька кешируете? Например если ты кешируешь в файловую систему, то, забрать из fs будет сильно дороже по ресурсам и времени, нежели забрать из БД с правильными индексами. По другому обстоят дела если это memcached или redis, но тут будут и другие подводные камни, мы же говорим о базовой реализации, не так ли?
Та же eloquent содержит в себе сильно больше логики и обвязки (потому что хочет быть похожей на ORM, но ей не является) чем пусть и кривоватый, но конструктор запросов под названием pdoTools
Боюсь что он будет даже отрицательный, нежели положительный
Не меняя подход к выборке (например параллельные запросы), не меняя архитектуру базы данных, не проставляя индексы какое время вы хотите выиграть? А прослойка в виде api скорее всего только тормозит результаты
1) Зачем тут использовать laravel? Какие он преимущества даст, кроме собственного удовлетворения что теперь то «все красиво»
2) В быстрой фильтрации важнее правильные индексы и в принципе архитектура бд, laravel на это никак не повлияет
3) «Микросервисы» на PHP сложно назвать микросевисами, хотя бы потому, что они обмениваются по json api (вместо gRPC например) который медленный и сильно нагружает сеть, я уже молчу о том, что сам laravel сильно тяжелее того же modx
По мне лучше бы показал как интегрировать какой нибудь легковесный полнотекстовой поиск, по типу meilisearch и на основе него уже построить фильтрацию, а уже что там будешь использовать для обращения к api meilisearch laravel, modx или нативный php уже не важно
Так хотя бы профит будет
Очень много работал с пуппетером и его аналогами в ноде, go в этом плане сильно удобнее т.к. может группировать процессы на отдельные потоки, может например запустить браузер и держать его запущенным а каждую вкладку обрабатывать отдельным потоком, убивается поток — убивается вкладка и никаких memory leak
А для каких дел он тогда предназначен, если не может построить оптимальный запрос?
Не знаю, я все таки считаю что сравнивать с newQuery не корректно, newQuery просто транслирует php команды в SQL код, он не автоматизирует ничего и не упрощает
И код на newQuery будет скорее всего похож по количеству и структуре на выходной SQL
Потому что в случае с getCollection не надо джойнить tv, а можно их получить через getTVValue через модель собственно
Главная причина почему пришлось писать билдер, это адская структура таблиц тв полей и сложность джоина каждого из параметров