spectre Опубліковано: 19 жовтня 2020 Share Опубліковано: 19 жовтня 2020 11 минут назад, Vladzimir сказал: Значит нужно просто лишнее вырезать,а не строить очередной слой абстракции. Я уже видел одну CMS в которой абстракция на абстракции сидит и абстракцией погоняет. И понять что и самое главное как там работает еще тот квест. щас эти разговоры не имеют смысла как будет так будет и или придется подстраиваться или сделают совсем гавно и придется валить на магенту Надіслати Поділитися на інших сайтах More sharing options... buslikdrev Опубліковано: 19 жовтня 2020 Share Опубліковано: 19 жовтня 2020 11 часов назад, spectre сказал: щас эти разговоры не имеют смысла как будет так будет и или придется подстраиваться или сделают совсем гавно и придется валить на магенту Лучше разговаривать с создателем и предлагать. Надіслати Поділитися на інших сайтах More sharing options... buslikdrev Опубліковано: 19 жовтня 2020 Share Опубліковано: 19 жовтня 2020 21 час назад, Yoda сказал: query builder https://github.com/askello/opencart-query-builder Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 19 жовтня 2020 Автор Share Опубліковано: 19 жовтня 2020 9 минут назад, buslikdrev сказал: https://github.com/askello/opencart-query-builder И что - это нативно? Ест доступ из каких-бы то ни было системных ресурсов и возможность модифицирования ? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 19 жовтня 2020 Share Опубліковано: 19 жовтня 2020 49 минут назад, buslikdrev сказал: Лучше разговаривать с создателем и предлагать. Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 19 жовтня 2020 Share Опубліковано: 19 жовтня 2020 ну что, Данила-мастер, не выходит каменный цветок?) Надіслати Поділитися на інших сайтах More sharing options... buslikdrev Опубліковано: 20 жовтня 2020 Share Опубліковано: 20 жовтня 2020 17 часов назад, Yoda сказал: И что - это нативно? Ест доступ из каких-бы то ни было системных ресурсов и возможность модифицирования ? Добавил такое (Но лучше сделать с проверками для исключения повторений и т.д.): Спойлер https://github.com/askello/opencart-query-builder/pull/5 Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 (змінено) В 19.10.2020 в 01:11, Yoda сказал: Вы работали с базами на сотни тысяч записей, в которых у сущностей пару сотен неоднородных свойств. Какой простите orm в такой ситуации? К чему эти все предварительные глобальные инициализации наборов, а потом выборка путем перебора огромного объекта в памяти. Расскажите про ORM любому архитектору мало мальски нагруженного проекта, где каждая лишняя итерация это ещё пару лишних железных серверов. И тогда поговорим. А эти миллеинальные восторги технологиями ваши, я не очень разделяю. Давайте обойдёмся без громких слов, сколько бы миллионов товаров у меня не было, я беру лишь те, что мне нужны и это кол-во не напрягает БД, так к чему Ваш коммент? Product::status(true)->get(['title', 'price'])->pagination(30) - Где тут проблема? Не стоит всех ровнять под одну гребёнку, всегда можно обойтись к примеру фасадом БД. Или Вы считаете у всех миллионы товаров? Подобная структура таблиц, вот что кромешное дно! Змінено 21 жовтня 2020 користувачем Doza Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 21 жовтня 2020 Автор Share Опубліковано: 21 жовтня 2020 49 минут назад, Doza сказал: Давайте обойдёмся без громких слов, сколько бы миллионов товаров у меня не было, я беру лишь те, что мне нужны и это кол-во не напрягает БД, так к чему Ваш коммент? Product::status(true)->get(['title', 'price'])->pagination(30) - Где тут проблема? Не стоит всех ровнять под одну гребёнку, всегда можно обойтись к примеру фасадом БД. Или Вы считаете у всех миллионы товаров? Подобная структура таблиц, вот что кромешное дно! Да не... У нас в вами разговор тогда будет как у бомжа и ресторанного критика. Я не готов обсуждать любой тезис с профанами. Если вы там что-то Нафантазировали. Пусть так и будет. В дурдоме все Наполеоны. И ниче. Как-то живут. Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 2 минуты назад, Yoda сказал: Да не... У нас в вами разговор тогда будет как у бомжа и ресторанного критика. Я не готов обсуждать любой тезис с профанами. Если вы там что-то Нафантазировали. Пусть так и будет. В дурдоме все Наполеоны. И ниче. Как-то живут. Когда нечего ответить говорим лозунгами? Что же, пусть будет так.. Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 1 час назад, Doza сказал: Product::status(true)->get(['title', 'price'])->pagination(30) Эт в какой орм пагинация работает с коллекцией? Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 3 минуты назад, stickpro сказал: Эт в какой орм пагинация работает с коллекцией? Ты серьёзно?)) Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 35 минут назад, Doza сказал: Ты серьёзно?)) Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 (змінено) 1 час назад, stickpro сказал: Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Так ресторанный критик должен мне об этом рассказать, нет? Интересно, как думаете, yoda ответит?)) Змінено 21 жовтня 2020 користувачем Doza Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 41 минуту назад, stickpro сказал: Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Что касается статуса, всё верно, и вот вам привет =))) Надіслати Поділитися на інших сайтах More sharing options... 1 month later... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 от говнокода так и не избавились <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> $data['breadcrumbs'][] = [ 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'language=' . $this->config->get('config_language') . '&path=' . $this->request->get['path']) ]; Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 использовать такое им не мешает $mail = new \Opencart\System\Library\Mail($this->config->get('config_mail_engine')); а такое мешает data['logo'] = $this->model_tool_image->resize(...) да и какое отношение image имеет к моделям вообще почему не использовать Image::resize(...) Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... EVMedvedev Опубліковано: 2 січня 2021 Share Опубліковано: 2 січня 2021 (змінено) В 18.10.2020 в 12:44, Vladzimir сказал: Или хотя бы QueryBuilder Ну собственно ORM предполагает использование какого-то QueryBuilder, чтобы трансформировать объектную модуль в SQL запросы. Это бы ОС точно не помешало. Пора уже как то разработчикам ОС двигаться хотя бы в 20 век, а то уже на дворе 21 :-). И уж лучше бы взять какую нибудь вменяемую ORM-библиотеку вроде Doctrine. Да и вообще можно больше компонентов и решений от Symfony позаимствовать. Змінено 2 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 3 січня 2021 Share Опубліковано: 3 січня 2021 (змінено) В 19.10.2020 в 11:00, Vladzimir сказал: ORM будет быстрее по вашему? Применение то же Doctrine дает 2 очевидных выгоды. Во-первых это действительно может дать ускорение работы хотя бы уже потому, что в этой библиотеке есть средства кэширования работы непосредственно с базой данных. Во-вторых, возможность ОС работать на разных СУБД, потому что если оперировать только ORM объектами при разработке своего кода, то дальше можно подключать разные библиотеки перевода объектной модели в запросы к разным СУБД и не только реляционные (поддерживается например MongoDB). В Doctrine есть и еще одна фишка, которую тоже можно было бы использовать для ускорения системы. Можно добавлять атрибуты в специальную таблицу, на основании которой регенерировать классы сущностей Doctrine, с помощью которых регенерировать таблицы хранения данных товаров, категорий, клиентов и таким образом добавлять любые типы полей. То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Змінено 3 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 4 січня 2021 Share Опубліковано: 4 січня 2021 22 часа назад, EVMedvedev сказал: То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 4 січня 2021 Автор Share Опубліковано: 4 січня 2021 В 18.10.2020 в 12:08, legioner26 сказал: Сморю там пространство имен и все такое. Ну тогда уже пусть ORM еще делают ))) Там вопрос не в ORM и пространстве имен, не прошло и десять лет, а появилась возможность устанавливать временную зону В 19.10.2020 в 10:45, legioner26 сказал: Ну как в Laravel к примеру, строитель. Можно сложные выборки со связями делать в 2 счета, получить нужную коллекцию. То ты не видел, как на 100 к записях по 70 полей в каждой делается SELECT(id=2 FROM(SELECT * FROM table)). ORM, быстрым магазинам - не товарищ! 1 час назад, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Пока будет частичная нормализация и не будет сводных таблиц, весь оверхед на ООП абстракции - это экономия на спичках. Основной затык - где.. В SELECT from oc_product_description JOIN oc_product - а потом сортировка группировка по полям из разных таблиц. Mysql так быстро делать не умеет от слова совсем - ей подавай одну плоскую таблицу - тогда там и индексы все оживут и проблем с производительностью нет. Вот кстати этот механизм по моему в magento и реализован. Но Даниэль отклонил прекалькуляцию product_total от стика. Так что, свобдных таблиц - мы вряд ли дождемся. А вот пихнуть конструктор запросов - реально ни что не мешает. Да и в целом приведение кода к современным стандартам - это уже неплохо. Правда отсеется сразу половина студентов, которые слабо понимают чем i++ отличается от ++i. 1 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 В 04.01.2021 в 13:26, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 2 минуты назад, EVMedvedev сказал: Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Есть такое понятие как оптимум. Так вот ORM дает гибкость, но ни как не скорость. Opencart умудряется быть и функциональным и относительно быстрым. Вы же предлагаете ввинтить в него очередной утяжелитель. Разработчикам то будет легко - не спорю, но вот остальным как жить? Надіслати Поділитися на інших сайтах More sharing options... entense Опубліковано: 13 січня 2021 Share Опубліковано: 13 січня 2021 В 18.10.2020 в 12:52, spectre сказал: там так поковырять много интересного например нет папки theme Там теперь и контроллеры и все файлы, будут скорее всего модифицируемыми от модуля, папка extension в корне Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 11 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Opencart 4.x Is Coming! Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
buslikdrev Опубліковано: 19 жовтня 2020 Share Опубліковано: 19 жовтня 2020 11 часов назад, spectre сказал: щас эти разговоры не имеют смысла как будет так будет и или придется подстраиваться или сделают совсем гавно и придется валить на магенту Лучше разговаривать с создателем и предлагать. Надіслати Поділитися на інших сайтах More sharing options... buslikdrev Опубліковано: 19 жовтня 2020 Share Опубліковано: 19 жовтня 2020 21 час назад, Yoda сказал: query builder https://github.com/askello/opencart-query-builder Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 19 жовтня 2020 Автор Share Опубліковано: 19 жовтня 2020 9 минут назад, buslikdrev сказал: https://github.com/askello/opencart-query-builder И что - это нативно? Ест доступ из каких-бы то ни было системных ресурсов и возможность модифицирования ? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 19 жовтня 2020 Share Опубліковано: 19 жовтня 2020 49 минут назад, buslikdrev сказал: Лучше разговаривать с создателем и предлагать. Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 19 жовтня 2020 Share Опубліковано: 19 жовтня 2020 ну что, Данила-мастер, не выходит каменный цветок?) Надіслати Поділитися на інших сайтах More sharing options... buslikdrev Опубліковано: 20 жовтня 2020 Share Опубліковано: 20 жовтня 2020 17 часов назад, Yoda сказал: И что - это нативно? Ест доступ из каких-бы то ни было системных ресурсов и возможность модифицирования ? Добавил такое (Но лучше сделать с проверками для исключения повторений и т.д.): Спойлер https://github.com/askello/opencart-query-builder/pull/5 Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 (змінено) В 19.10.2020 в 01:11, Yoda сказал: Вы работали с базами на сотни тысяч записей, в которых у сущностей пару сотен неоднородных свойств. Какой простите orm в такой ситуации? К чему эти все предварительные глобальные инициализации наборов, а потом выборка путем перебора огромного объекта в памяти. Расскажите про ORM любому архитектору мало мальски нагруженного проекта, где каждая лишняя итерация это ещё пару лишних железных серверов. И тогда поговорим. А эти миллеинальные восторги технологиями ваши, я не очень разделяю. Давайте обойдёмся без громких слов, сколько бы миллионов товаров у меня не было, я беру лишь те, что мне нужны и это кол-во не напрягает БД, так к чему Ваш коммент? Product::status(true)->get(['title', 'price'])->pagination(30) - Где тут проблема? Не стоит всех ровнять под одну гребёнку, всегда можно обойтись к примеру фасадом БД. Или Вы считаете у всех миллионы товаров? Подобная структура таблиц, вот что кромешное дно! Змінено 21 жовтня 2020 користувачем Doza Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 21 жовтня 2020 Автор Share Опубліковано: 21 жовтня 2020 49 минут назад, Doza сказал: Давайте обойдёмся без громких слов, сколько бы миллионов товаров у меня не было, я беру лишь те, что мне нужны и это кол-во не напрягает БД, так к чему Ваш коммент? Product::status(true)->get(['title', 'price'])->pagination(30) - Где тут проблема? Не стоит всех ровнять под одну гребёнку, всегда можно обойтись к примеру фасадом БД. Или Вы считаете у всех миллионы товаров? Подобная структура таблиц, вот что кромешное дно! Да не... У нас в вами разговор тогда будет как у бомжа и ресторанного критика. Я не готов обсуждать любой тезис с профанами. Если вы там что-то Нафантазировали. Пусть так и будет. В дурдоме все Наполеоны. И ниче. Как-то живут. Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 2 минуты назад, Yoda сказал: Да не... У нас в вами разговор тогда будет как у бомжа и ресторанного критика. Я не готов обсуждать любой тезис с профанами. Если вы там что-то Нафантазировали. Пусть так и будет. В дурдоме все Наполеоны. И ниче. Как-то живут. Когда нечего ответить говорим лозунгами? Что же, пусть будет так.. Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 1 час назад, Doza сказал: Product::status(true)->get(['title', 'price'])->pagination(30) Эт в какой орм пагинация работает с коллекцией? Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 3 минуты назад, stickpro сказал: Эт в какой орм пагинация работает с коллекцией? Ты серьёзно?)) Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 35 минут назад, Doza сказал: Ты серьёзно?)) Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 (змінено) 1 час назад, stickpro сказал: Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Так ресторанный критик должен мне об этом рассказать, нет? Интересно, как думаете, yoda ответит?)) Змінено 21 жовтня 2020 користувачем Doza Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 41 минуту назад, stickpro сказал: Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Что касается статуса, всё верно, и вот вам привет =))) Надіслати Поділитися на інших сайтах More sharing options... 1 month later... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 от говнокода так и не избавились <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> $data['breadcrumbs'][] = [ 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'language=' . $this->config->get('config_language') . '&path=' . $this->request->get['path']) ]; Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 использовать такое им не мешает $mail = new \Opencart\System\Library\Mail($this->config->get('config_mail_engine')); а такое мешает data['logo'] = $this->model_tool_image->resize(...) да и какое отношение image имеет к моделям вообще почему не использовать Image::resize(...) Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... EVMedvedev Опубліковано: 2 січня 2021 Share Опубліковано: 2 січня 2021 (змінено) В 18.10.2020 в 12:44, Vladzimir сказал: Или хотя бы QueryBuilder Ну собственно ORM предполагает использование какого-то QueryBuilder, чтобы трансформировать объектную модуль в SQL запросы. Это бы ОС точно не помешало. Пора уже как то разработчикам ОС двигаться хотя бы в 20 век, а то уже на дворе 21 :-). И уж лучше бы взять какую нибудь вменяемую ORM-библиотеку вроде Doctrine. Да и вообще можно больше компонентов и решений от Symfony позаимствовать. Змінено 2 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 3 січня 2021 Share Опубліковано: 3 січня 2021 (змінено) В 19.10.2020 в 11:00, Vladzimir сказал: ORM будет быстрее по вашему? Применение то же Doctrine дает 2 очевидных выгоды. Во-первых это действительно может дать ускорение работы хотя бы уже потому, что в этой библиотеке есть средства кэширования работы непосредственно с базой данных. Во-вторых, возможность ОС работать на разных СУБД, потому что если оперировать только ORM объектами при разработке своего кода, то дальше можно подключать разные библиотеки перевода объектной модели в запросы к разным СУБД и не только реляционные (поддерживается например MongoDB). В Doctrine есть и еще одна фишка, которую тоже можно было бы использовать для ускорения системы. Можно добавлять атрибуты в специальную таблицу, на основании которой регенерировать классы сущностей Doctrine, с помощью которых регенерировать таблицы хранения данных товаров, категорий, клиентов и таким образом добавлять любые типы полей. То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Змінено 3 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 4 січня 2021 Share Опубліковано: 4 січня 2021 22 часа назад, EVMedvedev сказал: То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 4 січня 2021 Автор Share Опубліковано: 4 січня 2021 В 18.10.2020 в 12:08, legioner26 сказал: Сморю там пространство имен и все такое. Ну тогда уже пусть ORM еще делают ))) Там вопрос не в ORM и пространстве имен, не прошло и десять лет, а появилась возможность устанавливать временную зону В 19.10.2020 в 10:45, legioner26 сказал: Ну как в Laravel к примеру, строитель. Можно сложные выборки со связями делать в 2 счета, получить нужную коллекцию. То ты не видел, как на 100 к записях по 70 полей в каждой делается SELECT(id=2 FROM(SELECT * FROM table)). ORM, быстрым магазинам - не товарищ! 1 час назад, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Пока будет частичная нормализация и не будет сводных таблиц, весь оверхед на ООП абстракции - это экономия на спичках. Основной затык - где.. В SELECT from oc_product_description JOIN oc_product - а потом сортировка группировка по полям из разных таблиц. Mysql так быстро делать не умеет от слова совсем - ей подавай одну плоскую таблицу - тогда там и индексы все оживут и проблем с производительностью нет. Вот кстати этот механизм по моему в magento и реализован. Но Даниэль отклонил прекалькуляцию product_total от стика. Так что, свобдных таблиц - мы вряд ли дождемся. А вот пихнуть конструктор запросов - реально ни что не мешает. Да и в целом приведение кода к современным стандартам - это уже неплохо. Правда отсеется сразу половина студентов, которые слабо понимают чем i++ отличается от ++i. 1 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 В 04.01.2021 в 13:26, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 2 минуты назад, EVMedvedev сказал: Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Есть такое понятие как оптимум. Так вот ORM дает гибкость, но ни как не скорость. Opencart умудряется быть и функциональным и относительно быстрым. Вы же предлагаете ввинтить в него очередной утяжелитель. Разработчикам то будет легко - не спорю, но вот остальным как жить? Надіслати Поділитися на інших сайтах More sharing options... entense Опубліковано: 13 січня 2021 Share Опубліковано: 13 січня 2021 В 18.10.2020 в 12:52, spectre сказал: там так поковырять много интересного например нет папки theme Там теперь и контроллеры и все файлы, будут скорее всего модифицируемыми от модуля, папка extension в корне Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 11 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Opencart 4.x Is Coming! Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
buslikdrev Опубліковано: 19 жовтня 2020 Share Опубліковано: 19 жовтня 2020 21 час назад, Yoda сказал: query builder https://github.com/askello/opencart-query-builder Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 19 жовтня 2020 Автор Share Опубліковано: 19 жовтня 2020 9 минут назад, buslikdrev сказал: https://github.com/askello/opencart-query-builder И что - это нативно? Ест доступ из каких-бы то ни было системных ресурсов и возможность модифицирования ? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 19 жовтня 2020 Share Опубліковано: 19 жовтня 2020 49 минут назад, buslikdrev сказал: Лучше разговаривать с создателем и предлагать. Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 19 жовтня 2020 Share Опубліковано: 19 жовтня 2020 ну что, Данила-мастер, не выходит каменный цветок?) Надіслати Поділитися на інших сайтах More sharing options... buslikdrev Опубліковано: 20 жовтня 2020 Share Опубліковано: 20 жовтня 2020 17 часов назад, Yoda сказал: И что - это нативно? Ест доступ из каких-бы то ни было системных ресурсов и возможность модифицирования ? Добавил такое (Но лучше сделать с проверками для исключения повторений и т.д.): Спойлер https://github.com/askello/opencart-query-builder/pull/5 Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 (змінено) В 19.10.2020 в 01:11, Yoda сказал: Вы работали с базами на сотни тысяч записей, в которых у сущностей пару сотен неоднородных свойств. Какой простите orm в такой ситуации? К чему эти все предварительные глобальные инициализации наборов, а потом выборка путем перебора огромного объекта в памяти. Расскажите про ORM любому архитектору мало мальски нагруженного проекта, где каждая лишняя итерация это ещё пару лишних железных серверов. И тогда поговорим. А эти миллеинальные восторги технологиями ваши, я не очень разделяю. Давайте обойдёмся без громких слов, сколько бы миллионов товаров у меня не было, я беру лишь те, что мне нужны и это кол-во не напрягает БД, так к чему Ваш коммент? Product::status(true)->get(['title', 'price'])->pagination(30) - Где тут проблема? Не стоит всех ровнять под одну гребёнку, всегда можно обойтись к примеру фасадом БД. Или Вы считаете у всех миллионы товаров? Подобная структура таблиц, вот что кромешное дно! Змінено 21 жовтня 2020 користувачем Doza Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 21 жовтня 2020 Автор Share Опубліковано: 21 жовтня 2020 49 минут назад, Doza сказал: Давайте обойдёмся без громких слов, сколько бы миллионов товаров у меня не было, я беру лишь те, что мне нужны и это кол-во не напрягает БД, так к чему Ваш коммент? Product::status(true)->get(['title', 'price'])->pagination(30) - Где тут проблема? Не стоит всех ровнять под одну гребёнку, всегда можно обойтись к примеру фасадом БД. Или Вы считаете у всех миллионы товаров? Подобная структура таблиц, вот что кромешное дно! Да не... У нас в вами разговор тогда будет как у бомжа и ресторанного критика. Я не готов обсуждать любой тезис с профанами. Если вы там что-то Нафантазировали. Пусть так и будет. В дурдоме все Наполеоны. И ниче. Как-то живут. Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 2 минуты назад, Yoda сказал: Да не... У нас в вами разговор тогда будет как у бомжа и ресторанного критика. Я не готов обсуждать любой тезис с профанами. Если вы там что-то Нафантазировали. Пусть так и будет. В дурдоме все Наполеоны. И ниче. Как-то живут. Когда нечего ответить говорим лозунгами? Что же, пусть будет так.. Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 1 час назад, Doza сказал: Product::status(true)->get(['title', 'price'])->pagination(30) Эт в какой орм пагинация работает с коллекцией? Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 3 минуты назад, stickpro сказал: Эт в какой орм пагинация работает с коллекцией? Ты серьёзно?)) Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 35 минут назад, Doza сказал: Ты серьёзно?)) Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 (змінено) 1 час назад, stickpro сказал: Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Так ресторанный критик должен мне об этом рассказать, нет? Интересно, как думаете, yoda ответит?)) Змінено 21 жовтня 2020 користувачем Doza Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 41 минуту назад, stickpro сказал: Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Что касается статуса, всё верно, и вот вам привет =))) Надіслати Поділитися на інших сайтах More sharing options... 1 month later... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 от говнокода так и не избавились <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> $data['breadcrumbs'][] = [ 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'language=' . $this->config->get('config_language') . '&path=' . $this->request->get['path']) ]; Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 использовать такое им не мешает $mail = new \Opencart\System\Library\Mail($this->config->get('config_mail_engine')); а такое мешает data['logo'] = $this->model_tool_image->resize(...) да и какое отношение image имеет к моделям вообще почему не использовать Image::resize(...) Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... EVMedvedev Опубліковано: 2 січня 2021 Share Опубліковано: 2 січня 2021 (змінено) В 18.10.2020 в 12:44, Vladzimir сказал: Или хотя бы QueryBuilder Ну собственно ORM предполагает использование какого-то QueryBuilder, чтобы трансформировать объектную модуль в SQL запросы. Это бы ОС точно не помешало. Пора уже как то разработчикам ОС двигаться хотя бы в 20 век, а то уже на дворе 21 :-). И уж лучше бы взять какую нибудь вменяемую ORM-библиотеку вроде Doctrine. Да и вообще можно больше компонентов и решений от Symfony позаимствовать. Змінено 2 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 3 січня 2021 Share Опубліковано: 3 січня 2021 (змінено) В 19.10.2020 в 11:00, Vladzimir сказал: ORM будет быстрее по вашему? Применение то же Doctrine дает 2 очевидных выгоды. Во-первых это действительно может дать ускорение работы хотя бы уже потому, что в этой библиотеке есть средства кэширования работы непосредственно с базой данных. Во-вторых, возможность ОС работать на разных СУБД, потому что если оперировать только ORM объектами при разработке своего кода, то дальше можно подключать разные библиотеки перевода объектной модели в запросы к разным СУБД и не только реляционные (поддерживается например MongoDB). В Doctrine есть и еще одна фишка, которую тоже можно было бы использовать для ускорения системы. Можно добавлять атрибуты в специальную таблицу, на основании которой регенерировать классы сущностей Doctrine, с помощью которых регенерировать таблицы хранения данных товаров, категорий, клиентов и таким образом добавлять любые типы полей. То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Змінено 3 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 4 січня 2021 Share Опубліковано: 4 січня 2021 22 часа назад, EVMedvedev сказал: То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 4 січня 2021 Автор Share Опубліковано: 4 січня 2021 В 18.10.2020 в 12:08, legioner26 сказал: Сморю там пространство имен и все такое. Ну тогда уже пусть ORM еще делают ))) Там вопрос не в ORM и пространстве имен, не прошло и десять лет, а появилась возможность устанавливать временную зону В 19.10.2020 в 10:45, legioner26 сказал: Ну как в Laravel к примеру, строитель. Можно сложные выборки со связями делать в 2 счета, получить нужную коллекцию. То ты не видел, как на 100 к записях по 70 полей в каждой делается SELECT(id=2 FROM(SELECT * FROM table)). ORM, быстрым магазинам - не товарищ! 1 час назад, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Пока будет частичная нормализация и не будет сводных таблиц, весь оверхед на ООП абстракции - это экономия на спичках. Основной затык - где.. В SELECT from oc_product_description JOIN oc_product - а потом сортировка группировка по полям из разных таблиц. Mysql так быстро делать не умеет от слова совсем - ей подавай одну плоскую таблицу - тогда там и индексы все оживут и проблем с производительностью нет. Вот кстати этот механизм по моему в magento и реализован. Но Даниэль отклонил прекалькуляцию product_total от стика. Так что, свобдных таблиц - мы вряд ли дождемся. А вот пихнуть конструктор запросов - реально ни что не мешает. Да и в целом приведение кода к современным стандартам - это уже неплохо. Правда отсеется сразу половина студентов, которые слабо понимают чем i++ отличается от ++i. 1 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 В 04.01.2021 в 13:26, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 2 минуты назад, EVMedvedev сказал: Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Есть такое понятие как оптимум. Так вот ORM дает гибкость, но ни как не скорость. Opencart умудряется быть и функциональным и относительно быстрым. Вы же предлагаете ввинтить в него очередной утяжелитель. Разработчикам то будет легко - не спорю, но вот остальным как жить? Надіслати Поділитися на інших сайтах More sharing options... entense Опубліковано: 13 січня 2021 Share Опубліковано: 13 січня 2021 В 18.10.2020 в 12:52, spectre сказал: там так поковырять много интересного например нет папки theme Там теперь и контроллеры и все файлы, будут скорее всего модифицируемыми от модуля, папка extension в корне Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 11 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Opencart 4.x Is Coming! Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Yoda Опубліковано: 19 жовтня 2020 Автор Share Опубліковано: 19 жовтня 2020 9 минут назад, buslikdrev сказал: https://github.com/askello/opencart-query-builder И что - это нативно? Ест доступ из каких-бы то ни было системных ресурсов и возможность модифицирования ? Надіслати Поділитися на інших сайтах More sharing options...
AlexDW Опубліковано: 19 жовтня 2020 Share Опубліковано: 19 жовтня 2020 49 минут назад, buslikdrev сказал: Лучше разговаривать с создателем и предлагать. Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 19 жовтня 2020 Share Опубліковано: 19 жовтня 2020 ну что, Данила-мастер, не выходит каменный цветок?) Надіслати Поділитися на інших сайтах More sharing options... buslikdrev Опубліковано: 20 жовтня 2020 Share Опубліковано: 20 жовтня 2020 17 часов назад, Yoda сказал: И что - это нативно? Ест доступ из каких-бы то ни было системных ресурсов и возможность модифицирования ? Добавил такое (Но лучше сделать с проверками для исключения повторений и т.д.): Спойлер https://github.com/askello/opencart-query-builder/pull/5 Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 (змінено) В 19.10.2020 в 01:11, Yoda сказал: Вы работали с базами на сотни тысяч записей, в которых у сущностей пару сотен неоднородных свойств. Какой простите orm в такой ситуации? К чему эти все предварительные глобальные инициализации наборов, а потом выборка путем перебора огромного объекта в памяти. Расскажите про ORM любому архитектору мало мальски нагруженного проекта, где каждая лишняя итерация это ещё пару лишних железных серверов. И тогда поговорим. А эти миллеинальные восторги технологиями ваши, я не очень разделяю. Давайте обойдёмся без громких слов, сколько бы миллионов товаров у меня не было, я беру лишь те, что мне нужны и это кол-во не напрягает БД, так к чему Ваш коммент? Product::status(true)->get(['title', 'price'])->pagination(30) - Где тут проблема? Не стоит всех ровнять под одну гребёнку, всегда можно обойтись к примеру фасадом БД. Или Вы считаете у всех миллионы товаров? Подобная структура таблиц, вот что кромешное дно! Змінено 21 жовтня 2020 користувачем Doza Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 21 жовтня 2020 Автор Share Опубліковано: 21 жовтня 2020 49 минут назад, Doza сказал: Давайте обойдёмся без громких слов, сколько бы миллионов товаров у меня не было, я беру лишь те, что мне нужны и это кол-во не напрягает БД, так к чему Ваш коммент? Product::status(true)->get(['title', 'price'])->pagination(30) - Где тут проблема? Не стоит всех ровнять под одну гребёнку, всегда можно обойтись к примеру фасадом БД. Или Вы считаете у всех миллионы товаров? Подобная структура таблиц, вот что кромешное дно! Да не... У нас в вами разговор тогда будет как у бомжа и ресторанного критика. Я не готов обсуждать любой тезис с профанами. Если вы там что-то Нафантазировали. Пусть так и будет. В дурдоме все Наполеоны. И ниче. Как-то живут. Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 2 минуты назад, Yoda сказал: Да не... У нас в вами разговор тогда будет как у бомжа и ресторанного критика. Я не готов обсуждать любой тезис с профанами. Если вы там что-то Нафантазировали. Пусть так и будет. В дурдоме все Наполеоны. И ниче. Как-то живут. Когда нечего ответить говорим лозунгами? Что же, пусть будет так.. Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 1 час назад, Doza сказал: Product::status(true)->get(['title', 'price'])->pagination(30) Эт в какой орм пагинация работает с коллекцией? Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 3 минуты назад, stickpro сказал: Эт в какой орм пагинация работает с коллекцией? Ты серьёзно?)) Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 35 минут назад, Doza сказал: Ты серьёзно?)) Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 (змінено) 1 час назад, stickpro сказал: Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Так ресторанный критик должен мне об этом рассказать, нет? Интересно, как думаете, yoda ответит?)) Змінено 21 жовтня 2020 користувачем Doza Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 41 минуту назад, stickpro сказал: Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Что касается статуса, всё верно, и вот вам привет =))) Надіслати Поділитися на інших сайтах More sharing options... 1 month later... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 от говнокода так и не избавились <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> $data['breadcrumbs'][] = [ 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'language=' . $this->config->get('config_language') . '&path=' . $this->request->get['path']) ]; Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 использовать такое им не мешает $mail = new \Opencart\System\Library\Mail($this->config->get('config_mail_engine')); а такое мешает data['logo'] = $this->model_tool_image->resize(...) да и какое отношение image имеет к моделям вообще почему не использовать Image::resize(...) Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... EVMedvedev Опубліковано: 2 січня 2021 Share Опубліковано: 2 січня 2021 (змінено) В 18.10.2020 в 12:44, Vladzimir сказал: Или хотя бы QueryBuilder Ну собственно ORM предполагает использование какого-то QueryBuilder, чтобы трансформировать объектную модуль в SQL запросы. Это бы ОС точно не помешало. Пора уже как то разработчикам ОС двигаться хотя бы в 20 век, а то уже на дворе 21 :-). И уж лучше бы взять какую нибудь вменяемую ORM-библиотеку вроде Doctrine. Да и вообще можно больше компонентов и решений от Symfony позаимствовать. Змінено 2 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 3 січня 2021 Share Опубліковано: 3 січня 2021 (змінено) В 19.10.2020 в 11:00, Vladzimir сказал: ORM будет быстрее по вашему? Применение то же Doctrine дает 2 очевидных выгоды. Во-первых это действительно может дать ускорение работы хотя бы уже потому, что в этой библиотеке есть средства кэширования работы непосредственно с базой данных. Во-вторых, возможность ОС работать на разных СУБД, потому что если оперировать только ORM объектами при разработке своего кода, то дальше можно подключать разные библиотеки перевода объектной модели в запросы к разным СУБД и не только реляционные (поддерживается например MongoDB). В Doctrine есть и еще одна фишка, которую тоже можно было бы использовать для ускорения системы. Можно добавлять атрибуты в специальную таблицу, на основании которой регенерировать классы сущностей Doctrine, с помощью которых регенерировать таблицы хранения данных товаров, категорий, клиентов и таким образом добавлять любые типы полей. То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Змінено 3 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 4 січня 2021 Share Опубліковано: 4 січня 2021 22 часа назад, EVMedvedev сказал: То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 4 січня 2021 Автор Share Опубліковано: 4 січня 2021 В 18.10.2020 в 12:08, legioner26 сказал: Сморю там пространство имен и все такое. Ну тогда уже пусть ORM еще делают ))) Там вопрос не в ORM и пространстве имен, не прошло и десять лет, а появилась возможность устанавливать временную зону В 19.10.2020 в 10:45, legioner26 сказал: Ну как в Laravel к примеру, строитель. Можно сложные выборки со связями делать в 2 счета, получить нужную коллекцию. То ты не видел, как на 100 к записях по 70 полей в каждой делается SELECT(id=2 FROM(SELECT * FROM table)). ORM, быстрым магазинам - не товарищ! 1 час назад, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Пока будет частичная нормализация и не будет сводных таблиц, весь оверхед на ООП абстракции - это экономия на спичках. Основной затык - где.. В SELECT from oc_product_description JOIN oc_product - а потом сортировка группировка по полям из разных таблиц. Mysql так быстро делать не умеет от слова совсем - ей подавай одну плоскую таблицу - тогда там и индексы все оживут и проблем с производительностью нет. Вот кстати этот механизм по моему в magento и реализован. Но Даниэль отклонил прекалькуляцию product_total от стика. Так что, свобдных таблиц - мы вряд ли дождемся. А вот пихнуть конструктор запросов - реально ни что не мешает. Да и в целом приведение кода к современным стандартам - это уже неплохо. Правда отсеется сразу половина студентов, которые слабо понимают чем i++ отличается от ++i. 1 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 В 04.01.2021 в 13:26, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 2 минуты назад, EVMedvedev сказал: Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Есть такое понятие как оптимум. Так вот ORM дает гибкость, но ни как не скорость. Opencart умудряется быть и функциональным и относительно быстрым. Вы же предлагаете ввинтить в него очередной утяжелитель. Разработчикам то будет легко - не спорю, но вот остальным как жить? Надіслати Поділитися на інших сайтах More sharing options... entense Опубліковано: 13 січня 2021 Share Опубліковано: 13 січня 2021 В 18.10.2020 в 12:52, spectre сказал: там так поковырять много интересного например нет папки theme Там теперь и контроллеры и все файлы, будут скорее всего модифицируемыми от модуля, папка extension в корне Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 11 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Opencart 4.x Is Coming! Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
spectre Опубліковано: 19 жовтня 2020 Share Опубліковано: 19 жовтня 2020 ну что, Данила-мастер, не выходит каменный цветок?) Надіслати Поділитися на інших сайтах More sharing options... buslikdrev Опубліковано: 20 жовтня 2020 Share Опубліковано: 20 жовтня 2020 17 часов назад, Yoda сказал: И что - это нативно? Ест доступ из каких-бы то ни было системных ресурсов и возможность модифицирования ? Добавил такое (Но лучше сделать с проверками для исключения повторений и т.д.): Спойлер https://github.com/askello/opencart-query-builder/pull/5 Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 (змінено) В 19.10.2020 в 01:11, Yoda сказал: Вы работали с базами на сотни тысяч записей, в которых у сущностей пару сотен неоднородных свойств. Какой простите orm в такой ситуации? К чему эти все предварительные глобальные инициализации наборов, а потом выборка путем перебора огромного объекта в памяти. Расскажите про ORM любому архитектору мало мальски нагруженного проекта, где каждая лишняя итерация это ещё пару лишних железных серверов. И тогда поговорим. А эти миллеинальные восторги технологиями ваши, я не очень разделяю. Давайте обойдёмся без громких слов, сколько бы миллионов товаров у меня не было, я беру лишь те, что мне нужны и это кол-во не напрягает БД, так к чему Ваш коммент? Product::status(true)->get(['title', 'price'])->pagination(30) - Где тут проблема? Не стоит всех ровнять под одну гребёнку, всегда можно обойтись к примеру фасадом БД. Или Вы считаете у всех миллионы товаров? Подобная структура таблиц, вот что кромешное дно! Змінено 21 жовтня 2020 користувачем Doza Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 21 жовтня 2020 Автор Share Опубліковано: 21 жовтня 2020 49 минут назад, Doza сказал: Давайте обойдёмся без громких слов, сколько бы миллионов товаров у меня не было, я беру лишь те, что мне нужны и это кол-во не напрягает БД, так к чему Ваш коммент? Product::status(true)->get(['title', 'price'])->pagination(30) - Где тут проблема? Не стоит всех ровнять под одну гребёнку, всегда можно обойтись к примеру фасадом БД. Или Вы считаете у всех миллионы товаров? Подобная структура таблиц, вот что кромешное дно! Да не... У нас в вами разговор тогда будет как у бомжа и ресторанного критика. Я не готов обсуждать любой тезис с профанами. Если вы там что-то Нафантазировали. Пусть так и будет. В дурдоме все Наполеоны. И ниче. Как-то живут. Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 2 минуты назад, Yoda сказал: Да не... У нас в вами разговор тогда будет как у бомжа и ресторанного критика. Я не готов обсуждать любой тезис с профанами. Если вы там что-то Нафантазировали. Пусть так и будет. В дурдоме все Наполеоны. И ниче. Как-то живут. Когда нечего ответить говорим лозунгами? Что же, пусть будет так.. Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 1 час назад, Doza сказал: Product::status(true)->get(['title', 'price'])->pagination(30) Эт в какой орм пагинация работает с коллекцией? Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 3 минуты назад, stickpro сказал: Эт в какой орм пагинация работает с коллекцией? Ты серьёзно?)) Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 35 минут назад, Doza сказал: Ты серьёзно?)) Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 (змінено) 1 час назад, stickpro сказал: Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Так ресторанный критик должен мне об этом рассказать, нет? Интересно, как думаете, yoda ответит?)) Змінено 21 жовтня 2020 користувачем Doza Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 41 минуту назад, stickpro сказал: Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Что касается статуса, всё верно, и вот вам привет =))) Надіслати Поділитися на інших сайтах More sharing options... 1 month later... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 от говнокода так и не избавились <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> $data['breadcrumbs'][] = [ 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'language=' . $this->config->get('config_language') . '&path=' . $this->request->get['path']) ]; Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 использовать такое им не мешает $mail = new \Opencart\System\Library\Mail($this->config->get('config_mail_engine')); а такое мешает data['logo'] = $this->model_tool_image->resize(...) да и какое отношение image имеет к моделям вообще почему не использовать Image::resize(...) Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... EVMedvedev Опубліковано: 2 січня 2021 Share Опубліковано: 2 січня 2021 (змінено) В 18.10.2020 в 12:44, Vladzimir сказал: Или хотя бы QueryBuilder Ну собственно ORM предполагает использование какого-то QueryBuilder, чтобы трансформировать объектную модуль в SQL запросы. Это бы ОС точно не помешало. Пора уже как то разработчикам ОС двигаться хотя бы в 20 век, а то уже на дворе 21 :-). И уж лучше бы взять какую нибудь вменяемую ORM-библиотеку вроде Doctrine. Да и вообще можно больше компонентов и решений от Symfony позаимствовать. Змінено 2 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 3 січня 2021 Share Опубліковано: 3 січня 2021 (змінено) В 19.10.2020 в 11:00, Vladzimir сказал: ORM будет быстрее по вашему? Применение то же Doctrine дает 2 очевидных выгоды. Во-первых это действительно может дать ускорение работы хотя бы уже потому, что в этой библиотеке есть средства кэширования работы непосредственно с базой данных. Во-вторых, возможность ОС работать на разных СУБД, потому что если оперировать только ORM объектами при разработке своего кода, то дальше можно подключать разные библиотеки перевода объектной модели в запросы к разным СУБД и не только реляционные (поддерживается например MongoDB). В Doctrine есть и еще одна фишка, которую тоже можно было бы использовать для ускорения системы. Можно добавлять атрибуты в специальную таблицу, на основании которой регенерировать классы сущностей Doctrine, с помощью которых регенерировать таблицы хранения данных товаров, категорий, клиентов и таким образом добавлять любые типы полей. То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Змінено 3 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 4 січня 2021 Share Опубліковано: 4 січня 2021 22 часа назад, EVMedvedev сказал: То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 4 січня 2021 Автор Share Опубліковано: 4 січня 2021 В 18.10.2020 в 12:08, legioner26 сказал: Сморю там пространство имен и все такое. Ну тогда уже пусть ORM еще делают ))) Там вопрос не в ORM и пространстве имен, не прошло и десять лет, а появилась возможность устанавливать временную зону В 19.10.2020 в 10:45, legioner26 сказал: Ну как в Laravel к примеру, строитель. Можно сложные выборки со связями делать в 2 счета, получить нужную коллекцию. То ты не видел, как на 100 к записях по 70 полей в каждой делается SELECT(id=2 FROM(SELECT * FROM table)). ORM, быстрым магазинам - не товарищ! 1 час назад, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Пока будет частичная нормализация и не будет сводных таблиц, весь оверхед на ООП абстракции - это экономия на спичках. Основной затык - где.. В SELECT from oc_product_description JOIN oc_product - а потом сортировка группировка по полям из разных таблиц. Mysql так быстро делать не умеет от слова совсем - ей подавай одну плоскую таблицу - тогда там и индексы все оживут и проблем с производительностью нет. Вот кстати этот механизм по моему в magento и реализован. Но Даниэль отклонил прекалькуляцию product_total от стика. Так что, свобдных таблиц - мы вряд ли дождемся. А вот пихнуть конструктор запросов - реально ни что не мешает. Да и в целом приведение кода к современным стандартам - это уже неплохо. Правда отсеется сразу половина студентов, которые слабо понимают чем i++ отличается от ++i. 1 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 В 04.01.2021 в 13:26, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 2 минуты назад, EVMedvedev сказал: Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Есть такое понятие как оптимум. Так вот ORM дает гибкость, но ни как не скорость. Opencart умудряется быть и функциональным и относительно быстрым. Вы же предлагаете ввинтить в него очередной утяжелитель. Разработчикам то будет легко - не спорю, но вот остальным как жить? Надіслати Поділитися на інших сайтах More sharing options... entense Опубліковано: 13 січня 2021 Share Опубліковано: 13 січня 2021 В 18.10.2020 в 12:52, spectre сказал: там так поковырять много интересного например нет папки theme Там теперь и контроллеры и все файлы, будут скорее всего модифицируемыми от модуля, папка extension в корне Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 11 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Opencart 4.x Is Coming! Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
buslikdrev Опубліковано: 20 жовтня 2020 Share Опубліковано: 20 жовтня 2020 17 часов назад, Yoda сказал: И что - это нативно? Ест доступ из каких-бы то ни было системных ресурсов и возможность модифицирования ? Добавил такое (Но лучше сделать с проверками для исключения повторений и т.д.): Спойлер https://github.com/askello/opencart-query-builder/pull/5 Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 (змінено) В 19.10.2020 в 01:11, Yoda сказал: Вы работали с базами на сотни тысяч записей, в которых у сущностей пару сотен неоднородных свойств. Какой простите orm в такой ситуации? К чему эти все предварительные глобальные инициализации наборов, а потом выборка путем перебора огромного объекта в памяти. Расскажите про ORM любому архитектору мало мальски нагруженного проекта, где каждая лишняя итерация это ещё пару лишних железных серверов. И тогда поговорим. А эти миллеинальные восторги технологиями ваши, я не очень разделяю. Давайте обойдёмся без громких слов, сколько бы миллионов товаров у меня не было, я беру лишь те, что мне нужны и это кол-во не напрягает БД, так к чему Ваш коммент? Product::status(true)->get(['title', 'price'])->pagination(30) - Где тут проблема? Не стоит всех ровнять под одну гребёнку, всегда можно обойтись к примеру фасадом БД. Или Вы считаете у всех миллионы товаров? Подобная структура таблиц, вот что кромешное дно! Змінено 21 жовтня 2020 користувачем Doza Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 21 жовтня 2020 Автор Share Опубліковано: 21 жовтня 2020 49 минут назад, Doza сказал: Давайте обойдёмся без громких слов, сколько бы миллионов товаров у меня не было, я беру лишь те, что мне нужны и это кол-во не напрягает БД, так к чему Ваш коммент? Product::status(true)->get(['title', 'price'])->pagination(30) - Где тут проблема? Не стоит всех ровнять под одну гребёнку, всегда можно обойтись к примеру фасадом БД. Или Вы считаете у всех миллионы товаров? Подобная структура таблиц, вот что кромешное дно! Да не... У нас в вами разговор тогда будет как у бомжа и ресторанного критика. Я не готов обсуждать любой тезис с профанами. Если вы там что-то Нафантазировали. Пусть так и будет. В дурдоме все Наполеоны. И ниче. Как-то живут. Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 2 минуты назад, Yoda сказал: Да не... У нас в вами разговор тогда будет как у бомжа и ресторанного критика. Я не готов обсуждать любой тезис с профанами. Если вы там что-то Нафантазировали. Пусть так и будет. В дурдоме все Наполеоны. И ниче. Как-то живут. Когда нечего ответить говорим лозунгами? Что же, пусть будет так.. Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 1 час назад, Doza сказал: Product::status(true)->get(['title', 'price'])->pagination(30) Эт в какой орм пагинация работает с коллекцией? Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 3 минуты назад, stickpro сказал: Эт в какой орм пагинация работает с коллекцией? Ты серьёзно?)) Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 35 минут назад, Doza сказал: Ты серьёзно?)) Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 (змінено) 1 час назад, stickpro сказал: Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Так ресторанный критик должен мне об этом рассказать, нет? Интересно, как думаете, yoda ответит?)) Змінено 21 жовтня 2020 користувачем Doza Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 41 минуту назад, stickpro сказал: Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Что касается статуса, всё верно, и вот вам привет =))) Надіслати Поділитися на інших сайтах More sharing options... 1 month later... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 от говнокода так и не избавились <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> $data['breadcrumbs'][] = [ 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'language=' . $this->config->get('config_language') . '&path=' . $this->request->get['path']) ]; Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 использовать такое им не мешает $mail = new \Opencart\System\Library\Mail($this->config->get('config_mail_engine')); а такое мешает data['logo'] = $this->model_tool_image->resize(...) да и какое отношение image имеет к моделям вообще почему не использовать Image::resize(...) Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... EVMedvedev Опубліковано: 2 січня 2021 Share Опубліковано: 2 січня 2021 (змінено) В 18.10.2020 в 12:44, Vladzimir сказал: Или хотя бы QueryBuilder Ну собственно ORM предполагает использование какого-то QueryBuilder, чтобы трансформировать объектную модуль в SQL запросы. Это бы ОС точно не помешало. Пора уже как то разработчикам ОС двигаться хотя бы в 20 век, а то уже на дворе 21 :-). И уж лучше бы взять какую нибудь вменяемую ORM-библиотеку вроде Doctrine. Да и вообще можно больше компонентов и решений от Symfony позаимствовать. Змінено 2 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 3 січня 2021 Share Опубліковано: 3 січня 2021 (змінено) В 19.10.2020 в 11:00, Vladzimir сказал: ORM будет быстрее по вашему? Применение то же Doctrine дает 2 очевидных выгоды. Во-первых это действительно может дать ускорение работы хотя бы уже потому, что в этой библиотеке есть средства кэширования работы непосредственно с базой данных. Во-вторых, возможность ОС работать на разных СУБД, потому что если оперировать только ORM объектами при разработке своего кода, то дальше можно подключать разные библиотеки перевода объектной модели в запросы к разным СУБД и не только реляционные (поддерживается например MongoDB). В Doctrine есть и еще одна фишка, которую тоже можно было бы использовать для ускорения системы. Можно добавлять атрибуты в специальную таблицу, на основании которой регенерировать классы сущностей Doctrine, с помощью которых регенерировать таблицы хранения данных товаров, категорий, клиентов и таким образом добавлять любые типы полей. То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Змінено 3 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 4 січня 2021 Share Опубліковано: 4 січня 2021 22 часа назад, EVMedvedev сказал: То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 4 січня 2021 Автор Share Опубліковано: 4 січня 2021 В 18.10.2020 в 12:08, legioner26 сказал: Сморю там пространство имен и все такое. Ну тогда уже пусть ORM еще делают ))) Там вопрос не в ORM и пространстве имен, не прошло и десять лет, а появилась возможность устанавливать временную зону В 19.10.2020 в 10:45, legioner26 сказал: Ну как в Laravel к примеру, строитель. Можно сложные выборки со связями делать в 2 счета, получить нужную коллекцию. То ты не видел, как на 100 к записях по 70 полей в каждой делается SELECT(id=2 FROM(SELECT * FROM table)). ORM, быстрым магазинам - не товарищ! 1 час назад, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Пока будет частичная нормализация и не будет сводных таблиц, весь оверхед на ООП абстракции - это экономия на спичках. Основной затык - где.. В SELECT from oc_product_description JOIN oc_product - а потом сортировка группировка по полям из разных таблиц. Mysql так быстро делать не умеет от слова совсем - ей подавай одну плоскую таблицу - тогда там и индексы все оживут и проблем с производительностью нет. Вот кстати этот механизм по моему в magento и реализован. Но Даниэль отклонил прекалькуляцию product_total от стика. Так что, свобдных таблиц - мы вряд ли дождемся. А вот пихнуть конструктор запросов - реально ни что не мешает. Да и в целом приведение кода к современным стандартам - это уже неплохо. Правда отсеется сразу половина студентов, которые слабо понимают чем i++ отличается от ++i. 1 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 В 04.01.2021 в 13:26, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 2 минуты назад, EVMedvedev сказал: Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Есть такое понятие как оптимум. Так вот ORM дает гибкость, но ни как не скорость. Opencart умудряется быть и функциональным и относительно быстрым. Вы же предлагаете ввинтить в него очередной утяжелитель. Разработчикам то будет легко - не спорю, но вот остальным как жить? Надіслати Поділитися на інших сайтах More sharing options... entense Опубліковано: 13 січня 2021 Share Опубліковано: 13 січня 2021 В 18.10.2020 в 12:52, spectre сказал: там так поковырять много интересного например нет папки theme Там теперь и контроллеры и все файлы, будут скорее всего модифицируемыми от модуля, папка extension в корне Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 11 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Opencart 4.x Is Coming! Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 (змінено) В 19.10.2020 в 01:11, Yoda сказал: Вы работали с базами на сотни тысяч записей, в которых у сущностей пару сотен неоднородных свойств. Какой простите orm в такой ситуации? К чему эти все предварительные глобальные инициализации наборов, а потом выборка путем перебора огромного объекта в памяти. Расскажите про ORM любому архитектору мало мальски нагруженного проекта, где каждая лишняя итерация это ещё пару лишних железных серверов. И тогда поговорим. А эти миллеинальные восторги технологиями ваши, я не очень разделяю. Давайте обойдёмся без громких слов, сколько бы миллионов товаров у меня не было, я беру лишь те, что мне нужны и это кол-во не напрягает БД, так к чему Ваш коммент? Product::status(true)->get(['title', 'price'])->pagination(30) - Где тут проблема? Не стоит всех ровнять под одну гребёнку, всегда можно обойтись к примеру фасадом БД. Или Вы считаете у всех миллионы товаров? Подобная структура таблиц, вот что кромешное дно! Змінено 21 жовтня 2020 користувачем Doza Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 21 жовтня 2020 Автор Share Опубліковано: 21 жовтня 2020 49 минут назад, Doza сказал: Давайте обойдёмся без громких слов, сколько бы миллионов товаров у меня не было, я беру лишь те, что мне нужны и это кол-во не напрягает БД, так к чему Ваш коммент? Product::status(true)->get(['title', 'price'])->pagination(30) - Где тут проблема? Не стоит всех ровнять под одну гребёнку, всегда можно обойтись к примеру фасадом БД. Или Вы считаете у всех миллионы товаров? Подобная структура таблиц, вот что кромешное дно! Да не... У нас в вами разговор тогда будет как у бомжа и ресторанного критика. Я не готов обсуждать любой тезис с профанами. Если вы там что-то Нафантазировали. Пусть так и будет. В дурдоме все Наполеоны. И ниче. Как-то живут. Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 2 минуты назад, Yoda сказал: Да не... У нас в вами разговор тогда будет как у бомжа и ресторанного критика. Я не готов обсуждать любой тезис с профанами. Если вы там что-то Нафантазировали. Пусть так и будет. В дурдоме все Наполеоны. И ниче. Как-то живут. Когда нечего ответить говорим лозунгами? Что же, пусть будет так.. Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 1 час назад, Doza сказал: Product::status(true)->get(['title', 'price'])->pagination(30) Эт в какой орм пагинация работает с коллекцией? Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 3 минуты назад, stickpro сказал: Эт в какой орм пагинация работает с коллекцией? Ты серьёзно?)) Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 35 минут назад, Doza сказал: Ты серьёзно?)) Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 (змінено) 1 час назад, stickpro сказал: Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Так ресторанный критик должен мне об этом рассказать, нет? Интересно, как думаете, yoda ответит?)) Змінено 21 жовтня 2020 користувачем Doza Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 41 минуту назад, stickpro сказал: Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Что касается статуса, всё верно, и вот вам привет =))) Надіслати Поділитися на інших сайтах More sharing options... 1 month later... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 от говнокода так и не избавились <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> $data['breadcrumbs'][] = [ 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'language=' . $this->config->get('config_language') . '&path=' . $this->request->get['path']) ]; Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 использовать такое им не мешает $mail = new \Opencart\System\Library\Mail($this->config->get('config_mail_engine')); а такое мешает data['logo'] = $this->model_tool_image->resize(...) да и какое отношение image имеет к моделям вообще почему не использовать Image::resize(...) Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... EVMedvedev Опубліковано: 2 січня 2021 Share Опубліковано: 2 січня 2021 (змінено) В 18.10.2020 в 12:44, Vladzimir сказал: Или хотя бы QueryBuilder Ну собственно ORM предполагает использование какого-то QueryBuilder, чтобы трансформировать объектную модуль в SQL запросы. Это бы ОС точно не помешало. Пора уже как то разработчикам ОС двигаться хотя бы в 20 век, а то уже на дворе 21 :-). И уж лучше бы взять какую нибудь вменяемую ORM-библиотеку вроде Doctrine. Да и вообще можно больше компонентов и решений от Symfony позаимствовать. Змінено 2 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 3 січня 2021 Share Опубліковано: 3 січня 2021 (змінено) В 19.10.2020 в 11:00, Vladzimir сказал: ORM будет быстрее по вашему? Применение то же Doctrine дает 2 очевидных выгоды. Во-первых это действительно может дать ускорение работы хотя бы уже потому, что в этой библиотеке есть средства кэширования работы непосредственно с базой данных. Во-вторых, возможность ОС работать на разных СУБД, потому что если оперировать только ORM объектами при разработке своего кода, то дальше можно подключать разные библиотеки перевода объектной модели в запросы к разным СУБД и не только реляционные (поддерживается например MongoDB). В Doctrine есть и еще одна фишка, которую тоже можно было бы использовать для ускорения системы. Можно добавлять атрибуты в специальную таблицу, на основании которой регенерировать классы сущностей Doctrine, с помощью которых регенерировать таблицы хранения данных товаров, категорий, клиентов и таким образом добавлять любые типы полей. То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Змінено 3 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 4 січня 2021 Share Опубліковано: 4 січня 2021 22 часа назад, EVMedvedev сказал: То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 4 січня 2021 Автор Share Опубліковано: 4 січня 2021 В 18.10.2020 в 12:08, legioner26 сказал: Сморю там пространство имен и все такое. Ну тогда уже пусть ORM еще делают ))) Там вопрос не в ORM и пространстве имен, не прошло и десять лет, а появилась возможность устанавливать временную зону В 19.10.2020 в 10:45, legioner26 сказал: Ну как в Laravel к примеру, строитель. Можно сложные выборки со связями делать в 2 счета, получить нужную коллекцию. То ты не видел, как на 100 к записях по 70 полей в каждой делается SELECT(id=2 FROM(SELECT * FROM table)). ORM, быстрым магазинам - не товарищ! 1 час назад, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Пока будет частичная нормализация и не будет сводных таблиц, весь оверхед на ООП абстракции - это экономия на спичках. Основной затык - где.. В SELECT from oc_product_description JOIN oc_product - а потом сортировка группировка по полям из разных таблиц. Mysql так быстро делать не умеет от слова совсем - ей подавай одну плоскую таблицу - тогда там и индексы все оживут и проблем с производительностью нет. Вот кстати этот механизм по моему в magento и реализован. Но Даниэль отклонил прекалькуляцию product_total от стика. Так что, свобдных таблиц - мы вряд ли дождемся. А вот пихнуть конструктор запросов - реально ни что не мешает. Да и в целом приведение кода к современным стандартам - это уже неплохо. Правда отсеется сразу половина студентов, которые слабо понимают чем i++ отличается от ++i. 1 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 В 04.01.2021 в 13:26, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 2 минуты назад, EVMedvedev сказал: Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Есть такое понятие как оптимум. Так вот ORM дает гибкость, но ни как не скорость. Opencart умудряется быть и функциональным и относительно быстрым. Вы же предлагаете ввинтить в него очередной утяжелитель. Разработчикам то будет легко - не спорю, но вот остальным как жить? Надіслати Поділитися на інших сайтах More sharing options... entense Опубліковано: 13 січня 2021 Share Опубліковано: 13 січня 2021 В 18.10.2020 в 12:52, spectre сказал: там так поковырять много интересного например нет папки theme Там теперь и контроллеры и все файлы, будут скорее всего модифицируемыми от модуля, папка extension в корне Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 11 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Opencart 4.x Is Coming! Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Yoda Опубліковано: 21 жовтня 2020 Автор Share Опубліковано: 21 жовтня 2020 49 минут назад, Doza сказал: Давайте обойдёмся без громких слов, сколько бы миллионов товаров у меня не было, я беру лишь те, что мне нужны и это кол-во не напрягает БД, так к чему Ваш коммент? Product::status(true)->get(['title', 'price'])->pagination(30) - Где тут проблема? Не стоит всех ровнять под одну гребёнку, всегда можно обойтись к примеру фасадом БД. Или Вы считаете у всех миллионы товаров? Подобная структура таблиц, вот что кромешное дно! Да не... У нас в вами разговор тогда будет как у бомжа и ресторанного критика. Я не готов обсуждать любой тезис с профанами. Если вы там что-то Нафантазировали. Пусть так и будет. В дурдоме все Наполеоны. И ниче. Как-то живут. Надіслати Поділитися на інших сайтах More sharing options...
Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 2 минуты назад, Yoda сказал: Да не... У нас в вами разговор тогда будет как у бомжа и ресторанного критика. Я не готов обсуждать любой тезис с профанами. Если вы там что-то Нафантазировали. Пусть так и будет. В дурдоме все Наполеоны. И ниче. Как-то живут. Когда нечего ответить говорим лозунгами? Что же, пусть будет так.. Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 1 час назад, Doza сказал: Product::status(true)->get(['title', 'price'])->pagination(30) Эт в какой орм пагинация работает с коллекцией? Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 3 минуты назад, stickpro сказал: Эт в какой орм пагинация работает с коллекцией? Ты серьёзно?)) Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 35 минут назад, Doza сказал: Ты серьёзно?)) Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 (змінено) 1 час назад, stickpro сказал: Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Так ресторанный критик должен мне об этом рассказать, нет? Интересно, как думаете, yoda ответит?)) Змінено 21 жовтня 2020 користувачем Doza Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 41 минуту назад, stickpro сказал: Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Что касается статуса, всё верно, и вот вам привет =))) Надіслати Поділитися на інших сайтах More sharing options... 1 month later... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 от говнокода так и не избавились <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> $data['breadcrumbs'][] = [ 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'language=' . $this->config->get('config_language') . '&path=' . $this->request->get['path']) ]; Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 использовать такое им не мешает $mail = new \Opencart\System\Library\Mail($this->config->get('config_mail_engine')); а такое мешает data['logo'] = $this->model_tool_image->resize(...) да и какое отношение image имеет к моделям вообще почему не использовать Image::resize(...) Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... EVMedvedev Опубліковано: 2 січня 2021 Share Опубліковано: 2 січня 2021 (змінено) В 18.10.2020 в 12:44, Vladzimir сказал: Или хотя бы QueryBuilder Ну собственно ORM предполагает использование какого-то QueryBuilder, чтобы трансформировать объектную модуль в SQL запросы. Это бы ОС точно не помешало. Пора уже как то разработчикам ОС двигаться хотя бы в 20 век, а то уже на дворе 21 :-). И уж лучше бы взять какую нибудь вменяемую ORM-библиотеку вроде Doctrine. Да и вообще можно больше компонентов и решений от Symfony позаимствовать. Змінено 2 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 3 січня 2021 Share Опубліковано: 3 січня 2021 (змінено) В 19.10.2020 в 11:00, Vladzimir сказал: ORM будет быстрее по вашему? Применение то же Doctrine дает 2 очевидных выгоды. Во-первых это действительно может дать ускорение работы хотя бы уже потому, что в этой библиотеке есть средства кэширования работы непосредственно с базой данных. Во-вторых, возможность ОС работать на разных СУБД, потому что если оперировать только ORM объектами при разработке своего кода, то дальше можно подключать разные библиотеки перевода объектной модели в запросы к разным СУБД и не только реляционные (поддерживается например MongoDB). В Doctrine есть и еще одна фишка, которую тоже можно было бы использовать для ускорения системы. Можно добавлять атрибуты в специальную таблицу, на основании которой регенерировать классы сущностей Doctrine, с помощью которых регенерировать таблицы хранения данных товаров, категорий, клиентов и таким образом добавлять любые типы полей. То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Змінено 3 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 4 січня 2021 Share Опубліковано: 4 січня 2021 22 часа назад, EVMedvedev сказал: То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 4 січня 2021 Автор Share Опубліковано: 4 січня 2021 В 18.10.2020 в 12:08, legioner26 сказал: Сморю там пространство имен и все такое. Ну тогда уже пусть ORM еще делают ))) Там вопрос не в ORM и пространстве имен, не прошло и десять лет, а появилась возможность устанавливать временную зону В 19.10.2020 в 10:45, legioner26 сказал: Ну как в Laravel к примеру, строитель. Можно сложные выборки со связями делать в 2 счета, получить нужную коллекцию. То ты не видел, как на 100 к записях по 70 полей в каждой делается SELECT(id=2 FROM(SELECT * FROM table)). ORM, быстрым магазинам - не товарищ! 1 час назад, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Пока будет частичная нормализация и не будет сводных таблиц, весь оверхед на ООП абстракции - это экономия на спичках. Основной затык - где.. В SELECT from oc_product_description JOIN oc_product - а потом сортировка группировка по полям из разных таблиц. Mysql так быстро делать не умеет от слова совсем - ей подавай одну плоскую таблицу - тогда там и индексы все оживут и проблем с производительностью нет. Вот кстати этот механизм по моему в magento и реализован. Но Даниэль отклонил прекалькуляцию product_total от стика. Так что, свобдных таблиц - мы вряд ли дождемся. А вот пихнуть конструктор запросов - реально ни что не мешает. Да и в целом приведение кода к современным стандартам - это уже неплохо. Правда отсеется сразу половина студентов, которые слабо понимают чем i++ отличается от ++i. 1 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 В 04.01.2021 в 13:26, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 2 минуты назад, EVMedvedev сказал: Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Есть такое понятие как оптимум. Так вот ORM дает гибкость, но ни как не скорость. Opencart умудряется быть и функциональным и относительно быстрым. Вы же предлагаете ввинтить в него очередной утяжелитель. Разработчикам то будет легко - не спорю, но вот остальным как жить? Надіслати Поділитися на інших сайтах More sharing options... entense Опубліковано: 13 січня 2021 Share Опубліковано: 13 січня 2021 В 18.10.2020 в 12:52, spectre сказал: там так поковырять много интересного например нет папки theme Там теперь и контроллеры и все файлы, будут скорее всего модифицируемыми от модуля, папка extension в корне Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 11 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Opencart 4.x Is Coming! Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 1 час назад, Doza сказал: Product::status(true)->get(['title', 'price'])->pagination(30) Эт в какой орм пагинация работает с коллекцией? Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 3 минуты назад, stickpro сказал: Эт в какой орм пагинация работает с коллекцией? Ты серьёзно?)) Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 35 минут назад, Doza сказал: Ты серьёзно?)) Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 (змінено) 1 час назад, stickpro сказал: Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Так ресторанный критик должен мне об этом рассказать, нет? Интересно, как думаете, yoda ответит?)) Змінено 21 жовтня 2020 користувачем Doza Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 41 минуту назад, stickpro сказал: Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Что касается статуса, всё верно, и вот вам привет =))) Надіслати Поділитися на інших сайтах More sharing options... 1 month later... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 от говнокода так и не избавились <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> $data['breadcrumbs'][] = [ 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'language=' . $this->config->get('config_language') . '&path=' . $this->request->get['path']) ]; Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 использовать такое им не мешает $mail = new \Opencart\System\Library\Mail($this->config->get('config_mail_engine')); а такое мешает data['logo'] = $this->model_tool_image->resize(...) да и какое отношение image имеет к моделям вообще почему не использовать Image::resize(...) Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... EVMedvedev Опубліковано: 2 січня 2021 Share Опубліковано: 2 січня 2021 (змінено) В 18.10.2020 в 12:44, Vladzimir сказал: Или хотя бы QueryBuilder Ну собственно ORM предполагает использование какого-то QueryBuilder, чтобы трансформировать объектную модуль в SQL запросы. Это бы ОС точно не помешало. Пора уже как то разработчикам ОС двигаться хотя бы в 20 век, а то уже на дворе 21 :-). И уж лучше бы взять какую нибудь вменяемую ORM-библиотеку вроде Doctrine. Да и вообще можно больше компонентов и решений от Symfony позаимствовать. Змінено 2 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 3 січня 2021 Share Опубліковано: 3 січня 2021 (змінено) В 19.10.2020 в 11:00, Vladzimir сказал: ORM будет быстрее по вашему? Применение то же Doctrine дает 2 очевидных выгоды. Во-первых это действительно может дать ускорение работы хотя бы уже потому, что в этой библиотеке есть средства кэширования работы непосредственно с базой данных. Во-вторых, возможность ОС работать на разных СУБД, потому что если оперировать только ORM объектами при разработке своего кода, то дальше можно подключать разные библиотеки перевода объектной модели в запросы к разным СУБД и не только реляционные (поддерживается например MongoDB). В Doctrine есть и еще одна фишка, которую тоже можно было бы использовать для ускорения системы. Можно добавлять атрибуты в специальную таблицу, на основании которой регенерировать классы сущностей Doctrine, с помощью которых регенерировать таблицы хранения данных товаров, категорий, клиентов и таким образом добавлять любые типы полей. То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Змінено 3 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 4 січня 2021 Share Опубліковано: 4 січня 2021 22 часа назад, EVMedvedev сказал: То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 4 січня 2021 Автор Share Опубліковано: 4 січня 2021 В 18.10.2020 в 12:08, legioner26 сказал: Сморю там пространство имен и все такое. Ну тогда уже пусть ORM еще делают ))) Там вопрос не в ORM и пространстве имен, не прошло и десять лет, а появилась возможность устанавливать временную зону В 19.10.2020 в 10:45, legioner26 сказал: Ну как в Laravel к примеру, строитель. Можно сложные выборки со связями делать в 2 счета, получить нужную коллекцию. То ты не видел, как на 100 к записях по 70 полей в каждой делается SELECT(id=2 FROM(SELECT * FROM table)). ORM, быстрым магазинам - не товарищ! 1 час назад, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Пока будет частичная нормализация и не будет сводных таблиц, весь оверхед на ООП абстракции - это экономия на спичках. Основной затык - где.. В SELECT from oc_product_description JOIN oc_product - а потом сортировка группировка по полям из разных таблиц. Mysql так быстро делать не умеет от слова совсем - ей подавай одну плоскую таблицу - тогда там и индексы все оживут и проблем с производительностью нет. Вот кстати этот механизм по моему в magento и реализован. Но Даниэль отклонил прекалькуляцию product_total от стика. Так что, свобдных таблиц - мы вряд ли дождемся. А вот пихнуть конструктор запросов - реально ни что не мешает. Да и в целом приведение кода к современным стандартам - это уже неплохо. Правда отсеется сразу половина студентов, которые слабо понимают чем i++ отличается от ++i. 1 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 В 04.01.2021 в 13:26, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 2 минуты назад, EVMedvedev сказал: Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Есть такое понятие как оптимум. Так вот ORM дает гибкость, но ни как не скорость. Opencart умудряется быть и функциональным и относительно быстрым. Вы же предлагаете ввинтить в него очередной утяжелитель. Разработчикам то будет легко - не спорю, но вот остальным как жить? Надіслати Поділитися на інших сайтах More sharing options... entense Опубліковано: 13 січня 2021 Share Опубліковано: 13 січня 2021 В 18.10.2020 в 12:52, spectre сказал: там так поковырять много интересного например нет папки theme Там теперь и контроллеры и все файлы, будут скорее всего модифицируемыми от модуля, папка extension в корне Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 11 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Opencart 4.x Is Coming! Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 3 минуты назад, stickpro сказал: Эт в какой орм пагинация работает с коллекцией? Ты серьёзно?)) Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 35 минут назад, Doza сказал: Ты серьёзно?)) Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 (змінено) 1 час назад, stickpro сказал: Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Так ресторанный критик должен мне об этом рассказать, нет? Интересно, как думаете, yoda ответит?)) Змінено 21 жовтня 2020 користувачем Doza Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 41 минуту назад, stickpro сказал: Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Что касается статуса, всё верно, и вот вам привет =))) Надіслати Поділитися на інших сайтах More sharing options... 1 month later... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 от говнокода так и не избавились <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> $data['breadcrumbs'][] = [ 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'language=' . $this->config->get('config_language') . '&path=' . $this->request->get['path']) ]; Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 использовать такое им не мешает $mail = new \Opencart\System\Library\Mail($this->config->get('config_mail_engine')); а такое мешает data['logo'] = $this->model_tool_image->resize(...) да и какое отношение image имеет к моделям вообще почему не использовать Image::resize(...) Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... EVMedvedev Опубліковано: 2 січня 2021 Share Опубліковано: 2 січня 2021 (змінено) В 18.10.2020 в 12:44, Vladzimir сказал: Или хотя бы QueryBuilder Ну собственно ORM предполагает использование какого-то QueryBuilder, чтобы трансформировать объектную модуль в SQL запросы. Это бы ОС точно не помешало. Пора уже как то разработчикам ОС двигаться хотя бы в 20 век, а то уже на дворе 21 :-). И уж лучше бы взять какую нибудь вменяемую ORM-библиотеку вроде Doctrine. Да и вообще можно больше компонентов и решений от Symfony позаимствовать. Змінено 2 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 3 січня 2021 Share Опубліковано: 3 січня 2021 (змінено) В 19.10.2020 в 11:00, Vladzimir сказал: ORM будет быстрее по вашему? Применение то же Doctrine дает 2 очевидных выгоды. Во-первых это действительно может дать ускорение работы хотя бы уже потому, что в этой библиотеке есть средства кэширования работы непосредственно с базой данных. Во-вторых, возможность ОС работать на разных СУБД, потому что если оперировать только ORM объектами при разработке своего кода, то дальше можно подключать разные библиотеки перевода объектной модели в запросы к разным СУБД и не только реляционные (поддерживается например MongoDB). В Doctrine есть и еще одна фишка, которую тоже можно было бы использовать для ускорения системы. Можно добавлять атрибуты в специальную таблицу, на основании которой регенерировать классы сущностей Doctrine, с помощью которых регенерировать таблицы хранения данных товаров, категорий, клиентов и таким образом добавлять любые типы полей. То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Змінено 3 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 4 січня 2021 Share Опубліковано: 4 січня 2021 22 часа назад, EVMedvedev сказал: То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 4 січня 2021 Автор Share Опубліковано: 4 січня 2021 В 18.10.2020 в 12:08, legioner26 сказал: Сморю там пространство имен и все такое. Ну тогда уже пусть ORM еще делают ))) Там вопрос не в ORM и пространстве имен, не прошло и десять лет, а появилась возможность устанавливать временную зону В 19.10.2020 в 10:45, legioner26 сказал: Ну как в Laravel к примеру, строитель. Можно сложные выборки со связями делать в 2 счета, получить нужную коллекцию. То ты не видел, как на 100 к записях по 70 полей в каждой делается SELECT(id=2 FROM(SELECT * FROM table)). ORM, быстрым магазинам - не товарищ! 1 час назад, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Пока будет частичная нормализация и не будет сводных таблиц, весь оверхед на ООП абстракции - это экономия на спичках. Основной затык - где.. В SELECT from oc_product_description JOIN oc_product - а потом сортировка группировка по полям из разных таблиц. Mysql так быстро делать не умеет от слова совсем - ей подавай одну плоскую таблицу - тогда там и индексы все оживут и проблем с производительностью нет. Вот кстати этот механизм по моему в magento и реализован. Но Даниэль отклонил прекалькуляцию product_total от стика. Так что, свобдных таблиц - мы вряд ли дождемся. А вот пихнуть конструктор запросов - реально ни что не мешает. Да и в целом приведение кода к современным стандартам - это уже неплохо. Правда отсеется сразу половина студентов, которые слабо понимают чем i++ отличается от ++i. 1 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 В 04.01.2021 в 13:26, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 2 минуты назад, EVMedvedev сказал: Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Есть такое понятие как оптимум. Так вот ORM дает гибкость, но ни как не скорость. Opencart умудряется быть и функциональным и относительно быстрым. Вы же предлагаете ввинтить в него очередной утяжелитель. Разработчикам то будет легко - не спорю, но вот остальным как жить? Надіслати Поділитися на інших сайтах More sharing options... entense Опубліковано: 13 січня 2021 Share Опубліковано: 13 січня 2021 В 18.10.2020 в 12:52, spectre сказал: там так поковырять много интересного например нет папки theme Там теперь и контроллеры и все файлы, будут скорее всего модифицируемыми от модуля, папка extension в корне Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 11 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Opencart 4.x Is Coming! Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 35 минут назад, Doza сказал: Ты серьёзно?)) Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 (змінено) 1 час назад, stickpro сказал: Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Так ресторанный критик должен мне об этом рассказать, нет? Интересно, как думаете, yoda ответит?)) Змінено 21 жовтня 2020 користувачем Doza Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 41 минуту назад, stickpro сказал: Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Что касается статуса, всё верно, и вот вам привет =))) Надіслати Поділитися на інших сайтах More sharing options... 1 month later... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 от говнокода так и не избавились <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> $data['breadcrumbs'][] = [ 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'language=' . $this->config->get('config_language') . '&path=' . $this->request->get['path']) ]; Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 использовать такое им не мешает $mail = new \Opencart\System\Library\Mail($this->config->get('config_mail_engine')); а такое мешает data['logo'] = $this->model_tool_image->resize(...) да и какое отношение image имеет к моделям вообще почему не использовать Image::resize(...) Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... EVMedvedev Опубліковано: 2 січня 2021 Share Опубліковано: 2 січня 2021 (змінено) В 18.10.2020 в 12:44, Vladzimir сказал: Или хотя бы QueryBuilder Ну собственно ORM предполагает использование какого-то QueryBuilder, чтобы трансформировать объектную модуль в SQL запросы. Это бы ОС точно не помешало. Пора уже как то разработчикам ОС двигаться хотя бы в 20 век, а то уже на дворе 21 :-). И уж лучше бы взять какую нибудь вменяемую ORM-библиотеку вроде Doctrine. Да и вообще можно больше компонентов и решений от Symfony позаимствовать. Змінено 2 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 3 січня 2021 Share Опубліковано: 3 січня 2021 (змінено) В 19.10.2020 в 11:00, Vladzimir сказал: ORM будет быстрее по вашему? Применение то же Doctrine дает 2 очевидных выгоды. Во-первых это действительно может дать ускорение работы хотя бы уже потому, что в этой библиотеке есть средства кэширования работы непосредственно с базой данных. Во-вторых, возможность ОС работать на разных СУБД, потому что если оперировать только ORM объектами при разработке своего кода, то дальше можно подключать разные библиотеки перевода объектной модели в запросы к разным СУБД и не только реляционные (поддерживается например MongoDB). В Doctrine есть и еще одна фишка, которую тоже можно было бы использовать для ускорения системы. Можно добавлять атрибуты в специальную таблицу, на основании которой регенерировать классы сущностей Doctrine, с помощью которых регенерировать таблицы хранения данных товаров, категорий, клиентов и таким образом добавлять любые типы полей. То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Змінено 3 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 4 січня 2021 Share Опубліковано: 4 січня 2021 22 часа назад, EVMedvedev сказал: То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 4 січня 2021 Автор Share Опубліковано: 4 січня 2021 В 18.10.2020 в 12:08, legioner26 сказал: Сморю там пространство имен и все такое. Ну тогда уже пусть ORM еще делают ))) Там вопрос не в ORM и пространстве имен, не прошло и десять лет, а появилась возможность устанавливать временную зону В 19.10.2020 в 10:45, legioner26 сказал: Ну как в Laravel к примеру, строитель. Можно сложные выборки со связями делать в 2 счета, получить нужную коллекцию. То ты не видел, как на 100 к записях по 70 полей в каждой делается SELECT(id=2 FROM(SELECT * FROM table)). ORM, быстрым магазинам - не товарищ! 1 час назад, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Пока будет частичная нормализация и не будет сводных таблиц, весь оверхед на ООП абстракции - это экономия на спичках. Основной затык - где.. В SELECT from oc_product_description JOIN oc_product - а потом сортировка группировка по полям из разных таблиц. Mysql так быстро делать не умеет от слова совсем - ей подавай одну плоскую таблицу - тогда там и индексы все оживут и проблем с производительностью нет. Вот кстати этот механизм по моему в magento и реализован. Но Даниэль отклонил прекалькуляцию product_total от стика. Так что, свобдных таблиц - мы вряд ли дождемся. А вот пихнуть конструктор запросов - реально ни что не мешает. Да и в целом приведение кода к современным стандартам - это уже неплохо. Правда отсеется сразу половина студентов, которые слабо понимают чем i++ отличается от ++i. 1 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 В 04.01.2021 в 13:26, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 2 минуты назад, EVMedvedev сказал: Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Есть такое понятие как оптимум. Так вот ORM дает гибкость, но ни как не скорость. Opencart умудряется быть и функциональным и относительно быстрым. Вы же предлагаете ввинтить в него очередной утяжелитель. Разработчикам то будет легко - не спорю, но вот остальным как жить? Надіслати Поділитися на інших сайтах More sharing options... entense Опубліковано: 13 січня 2021 Share Опубліковано: 13 січня 2021 В 18.10.2020 в 12:52, spectre сказал: там так поковырять много интересного например нет папки theme Там теперь и контроллеры и все файлы, будут скорее всего модифицируемыми от модуля, папка extension в корне Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 11 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Opencart 4.x Is Coming! Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
stickpro Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 (змінено) 1 час назад, stickpro сказал: Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Так ресторанный критик должен мне об этом рассказать, нет? Интересно, как думаете, yoda ответит?)) Змінено 21 жовтня 2020 користувачем Doza Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 41 минуту назад, stickpro сказал: Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Что касается статуса, всё верно, и вот вам привет =))) Надіслати Поділитися на інших сайтах More sharing options... 1 month later... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 от говнокода так и не избавились <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> $data['breadcrumbs'][] = [ 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'language=' . $this->config->get('config_language') . '&path=' . $this->request->get['path']) ]; Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 использовать такое им не мешает $mail = new \Opencart\System\Library\Mail($this->config->get('config_mail_engine')); а такое мешает data['logo'] = $this->model_tool_image->resize(...) да и какое отношение image имеет к моделям вообще почему не использовать Image::resize(...) Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... EVMedvedev Опубліковано: 2 січня 2021 Share Опубліковано: 2 січня 2021 (змінено) В 18.10.2020 в 12:44, Vladzimir сказал: Или хотя бы QueryBuilder Ну собственно ORM предполагает использование какого-то QueryBuilder, чтобы трансформировать объектную модуль в SQL запросы. Это бы ОС точно не помешало. Пора уже как то разработчикам ОС двигаться хотя бы в 20 век, а то уже на дворе 21 :-). И уж лучше бы взять какую нибудь вменяемую ORM-библиотеку вроде Doctrine. Да и вообще можно больше компонентов и решений от Symfony позаимствовать. Змінено 2 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 3 січня 2021 Share Опубліковано: 3 січня 2021 (змінено) В 19.10.2020 в 11:00, Vladzimir сказал: ORM будет быстрее по вашему? Применение то же Doctrine дает 2 очевидных выгоды. Во-первых это действительно может дать ускорение работы хотя бы уже потому, что в этой библиотеке есть средства кэширования работы непосредственно с базой данных. Во-вторых, возможность ОС работать на разных СУБД, потому что если оперировать только ORM объектами при разработке своего кода, то дальше можно подключать разные библиотеки перевода объектной модели в запросы к разным СУБД и не только реляционные (поддерживается например MongoDB). В Doctrine есть и еще одна фишка, которую тоже можно было бы использовать для ускорения системы. Можно добавлять атрибуты в специальную таблицу, на основании которой регенерировать классы сущностей Doctrine, с помощью которых регенерировать таблицы хранения данных товаров, категорий, клиентов и таким образом добавлять любые типы полей. То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Змінено 3 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 4 січня 2021 Share Опубліковано: 4 січня 2021 22 часа назад, EVMedvedev сказал: То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 4 січня 2021 Автор Share Опубліковано: 4 січня 2021 В 18.10.2020 в 12:08, legioner26 сказал: Сморю там пространство имен и все такое. Ну тогда уже пусть ORM еще делают ))) Там вопрос не в ORM и пространстве имен, не прошло и десять лет, а появилась возможность устанавливать временную зону В 19.10.2020 в 10:45, legioner26 сказал: Ну как в Laravel к примеру, строитель. Можно сложные выборки со связями делать в 2 счета, получить нужную коллекцию. То ты не видел, как на 100 к записях по 70 полей в каждой делается SELECT(id=2 FROM(SELECT * FROM table)). ORM, быстрым магазинам - не товарищ! 1 час назад, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Пока будет частичная нормализация и не будет сводных таблиц, весь оверхед на ООП абстракции - это экономия на спичках. Основной затык - где.. В SELECT from oc_product_description JOIN oc_product - а потом сортировка группировка по полям из разных таблиц. Mysql так быстро делать не умеет от слова совсем - ей подавай одну плоскую таблицу - тогда там и индексы все оживут и проблем с производительностью нет. Вот кстати этот механизм по моему в magento и реализован. Но Даниэль отклонил прекалькуляцию product_total от стика. Так что, свобдных таблиц - мы вряд ли дождемся. А вот пихнуть конструктор запросов - реально ни что не мешает. Да и в целом приведение кода к современным стандартам - это уже неплохо. Правда отсеется сразу половина студентов, которые слабо понимают чем i++ отличается от ++i. 1 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 В 04.01.2021 в 13:26, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 2 минуты назад, EVMedvedev сказал: Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Есть такое понятие как оптимум. Так вот ORM дает гибкость, но ни как не скорость. Opencart умудряется быть и функциональным и относительно быстрым. Вы же предлагаете ввинтить в него очередной утяжелитель. Разработчикам то будет легко - не спорю, но вот остальным как жить? Надіслати Поділитися на інших сайтах More sharing options... entense Опубліковано: 13 січня 2021 Share Опубліковано: 13 січня 2021 В 18.10.2020 в 12:52, spectre сказал: там так поковырять много интересного например нет папки theme Там теперь и контроллеры и все файлы, будут скорее всего модифицируемыми от модуля, папка extension в корне Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 11 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Opencart 4.x Is Coming! Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 (змінено) 1 час назад, stickpro сказал: Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос Так ресторанный критик должен мне об этом рассказать, нет? Интересно, как думаете, yoda ответит?)) Змінено 21 жовтня 2020 користувачем Doza Надіслати Поділитися на інших сайтах More sharing options... Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 41 минуту назад, stickpro сказал: Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Что касается статуса, всё верно, и вот вам привет =))) Надіслати Поділитися на інших сайтах More sharing options... 1 month later... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 от говнокода так и не избавились <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> $data['breadcrumbs'][] = [ 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'language=' . $this->config->get('config_language') . '&path=' . $this->request->get['path']) ]; Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 использовать такое им не мешает $mail = new \Opencart\System\Library\Mail($this->config->get('config_mail_engine')); а такое мешает data['logo'] = $this->model_tool_image->resize(...) да и какое отношение image имеет к моделям вообще почему не использовать Image::resize(...) Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... EVMedvedev Опубліковано: 2 січня 2021 Share Опубліковано: 2 січня 2021 (змінено) В 18.10.2020 в 12:44, Vladzimir сказал: Или хотя бы QueryBuilder Ну собственно ORM предполагает использование какого-то QueryBuilder, чтобы трансформировать объектную модуль в SQL запросы. Это бы ОС точно не помешало. Пора уже как то разработчикам ОС двигаться хотя бы в 20 век, а то уже на дворе 21 :-). И уж лучше бы взять какую нибудь вменяемую ORM-библиотеку вроде Doctrine. Да и вообще можно больше компонентов и решений от Symfony позаимствовать. Змінено 2 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 3 січня 2021 Share Опубліковано: 3 січня 2021 (змінено) В 19.10.2020 в 11:00, Vladzimir сказал: ORM будет быстрее по вашему? Применение то же Doctrine дает 2 очевидных выгоды. Во-первых это действительно может дать ускорение работы хотя бы уже потому, что в этой библиотеке есть средства кэширования работы непосредственно с базой данных. Во-вторых, возможность ОС работать на разных СУБД, потому что если оперировать только ORM объектами при разработке своего кода, то дальше можно подключать разные библиотеки перевода объектной модели в запросы к разным СУБД и не только реляционные (поддерживается например MongoDB). В Doctrine есть и еще одна фишка, которую тоже можно было бы использовать для ускорения системы. Можно добавлять атрибуты в специальную таблицу, на основании которой регенерировать классы сущностей Doctrine, с помощью которых регенерировать таблицы хранения данных товаров, категорий, клиентов и таким образом добавлять любые типы полей. То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Змінено 3 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 4 січня 2021 Share Опубліковано: 4 січня 2021 22 часа назад, EVMedvedev сказал: То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 4 січня 2021 Автор Share Опубліковано: 4 січня 2021 В 18.10.2020 в 12:08, legioner26 сказал: Сморю там пространство имен и все такое. Ну тогда уже пусть ORM еще делают ))) Там вопрос не в ORM и пространстве имен, не прошло и десять лет, а появилась возможность устанавливать временную зону В 19.10.2020 в 10:45, legioner26 сказал: Ну как в Laravel к примеру, строитель. Можно сложные выборки со связями делать в 2 счета, получить нужную коллекцию. То ты не видел, как на 100 к записях по 70 полей в каждой делается SELECT(id=2 FROM(SELECT * FROM table)). ORM, быстрым магазинам - не товарищ! 1 час назад, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Пока будет частичная нормализация и не будет сводных таблиц, весь оверхед на ООП абстракции - это экономия на спичках. Основной затык - где.. В SELECT from oc_product_description JOIN oc_product - а потом сортировка группировка по полям из разных таблиц. Mysql так быстро делать не умеет от слова совсем - ей подавай одну плоскую таблицу - тогда там и индексы все оживут и проблем с производительностью нет. Вот кстати этот механизм по моему в magento и реализован. Но Даниэль отклонил прекалькуляцию product_total от стика. Так что, свобдных таблиц - мы вряд ли дождемся. А вот пихнуть конструктор запросов - реально ни что не мешает. Да и в целом приведение кода к современным стандартам - это уже неплохо. Правда отсеется сразу половина студентов, которые слабо понимают чем i++ отличается от ++i. 1 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 В 04.01.2021 в 13:26, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 2 минуты назад, EVMedvedev сказал: Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Есть такое понятие как оптимум. Так вот ORM дает гибкость, но ни как не скорость. Opencart умудряется быть и функциональным и относительно быстрым. Вы же предлагаете ввинтить в него очередной утяжелитель. Разработчикам то будет легко - не спорю, но вот остальным как жить? Надіслати Поділитися на інших сайтах More sharing options... entense Опубліковано: 13 січня 2021 Share Опубліковано: 13 січня 2021 В 18.10.2020 в 12:52, spectre сказал: там так поковырять много интересного например нет папки theme Там теперь и контроллеры и все файлы, будут скорее всего модифицируемыми от модуля, папка extension в корне Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 11 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Opencart 4.x Is Coming! Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Doza Опубліковано: 21 жовтня 2020 Share Опубліковано: 21 жовтня 2020 41 минуту назад, stickpro сказал: Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус Что касается статуса, всё верно, и вот вам привет =))) Надіслати Поділитися на інших сайтах More sharing options... 1 month later... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 от говнокода так и не избавились <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> $data['breadcrumbs'][] = [ 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'language=' . $this->config->get('config_language') . '&path=' . $this->request->get['path']) ]; Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 использовать такое им не мешает $mail = new \Opencart\System\Library\Mail($this->config->get('config_mail_engine')); а такое мешает data['logo'] = $this->model_tool_image->resize(...) да и какое отношение image имеет к моделям вообще почему не использовать Image::resize(...) Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... EVMedvedev Опубліковано: 2 січня 2021 Share Опубліковано: 2 січня 2021 (змінено) В 18.10.2020 в 12:44, Vladzimir сказал: Или хотя бы QueryBuilder Ну собственно ORM предполагает использование какого-то QueryBuilder, чтобы трансформировать объектную модуль в SQL запросы. Это бы ОС точно не помешало. Пора уже как то разработчикам ОС двигаться хотя бы в 20 век, а то уже на дворе 21 :-). И уж лучше бы взять какую нибудь вменяемую ORM-библиотеку вроде Doctrine. Да и вообще можно больше компонентов и решений от Symfony позаимствовать. Змінено 2 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 3 січня 2021 Share Опубліковано: 3 січня 2021 (змінено) В 19.10.2020 в 11:00, Vladzimir сказал: ORM будет быстрее по вашему? Применение то же Doctrine дает 2 очевидных выгоды. Во-первых это действительно может дать ускорение работы хотя бы уже потому, что в этой библиотеке есть средства кэширования работы непосредственно с базой данных. Во-вторых, возможность ОС работать на разных СУБД, потому что если оперировать только ORM объектами при разработке своего кода, то дальше можно подключать разные библиотеки перевода объектной модели в запросы к разным СУБД и не только реляционные (поддерживается например MongoDB). В Doctrine есть и еще одна фишка, которую тоже можно было бы использовать для ускорения системы. Можно добавлять атрибуты в специальную таблицу, на основании которой регенерировать классы сущностей Doctrine, с помощью которых регенерировать таблицы хранения данных товаров, категорий, клиентов и таким образом добавлять любые типы полей. То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Змінено 3 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 4 січня 2021 Share Опубліковано: 4 січня 2021 22 часа назад, EVMedvedev сказал: То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 4 січня 2021 Автор Share Опубліковано: 4 січня 2021 В 18.10.2020 в 12:08, legioner26 сказал: Сморю там пространство имен и все такое. Ну тогда уже пусть ORM еще делают ))) Там вопрос не в ORM и пространстве имен, не прошло и десять лет, а появилась возможность устанавливать временную зону В 19.10.2020 в 10:45, legioner26 сказал: Ну как в Laravel к примеру, строитель. Можно сложные выборки со связями делать в 2 счета, получить нужную коллекцию. То ты не видел, как на 100 к записях по 70 полей в каждой делается SELECT(id=2 FROM(SELECT * FROM table)). ORM, быстрым магазинам - не товарищ! 1 час назад, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Пока будет частичная нормализация и не будет сводных таблиц, весь оверхед на ООП абстракции - это экономия на спичках. Основной затык - где.. В SELECT from oc_product_description JOIN oc_product - а потом сортировка группировка по полям из разных таблиц. Mysql так быстро делать не умеет от слова совсем - ей подавай одну плоскую таблицу - тогда там и индексы все оживут и проблем с производительностью нет. Вот кстати этот механизм по моему в magento и реализован. Но Даниэль отклонил прекалькуляцию product_total от стика. Так что, свобдных таблиц - мы вряд ли дождемся. А вот пихнуть конструктор запросов - реально ни что не мешает. Да и в целом приведение кода к современным стандартам - это уже неплохо. Правда отсеется сразу половина студентов, которые слабо понимают чем i++ отличается от ++i. 1 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 В 04.01.2021 в 13:26, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 2 минуты назад, EVMedvedev сказал: Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Есть такое понятие как оптимум. Так вот ORM дает гибкость, но ни как не скорость. Opencart умудряется быть и функциональным и относительно быстрым. Вы же предлагаете ввинтить в него очередной утяжелитель. Разработчикам то будет легко - не спорю, но вот остальным как жить? Надіслати Поділитися на інших сайтах More sharing options... entense Опубліковано: 13 січня 2021 Share Опубліковано: 13 січня 2021 В 18.10.2020 в 12:52, spectre сказал: там так поковырять много интересного например нет папки theme Там теперь и контроллеры и все файлы, будут скорее всего модифицируемыми от модуля, папка extension в корне Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 11 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Opencart 4.x Is Coming! Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 от говнокода так и не избавились <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> $data['breadcrumbs'][] = [ 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'language=' . $this->config->get('config_language') . '&path=' . $this->request->get['path']) ]; Надіслати Поділитися на інших сайтах More sharing options...
lexxkrt Опубліковано: 11 грудня 2020 Share Опубліковано: 11 грудня 2020 использовать такое им не мешает $mail = new \Opencart\System\Library\Mail($this->config->get('config_mail_engine')); а такое мешает data['logo'] = $this->model_tool_image->resize(...) да и какое отношение image имеет к моделям вообще почему не использовать Image::resize(...) Надіслати Поділитися на інших сайтах More sharing options...
EVMedvedev Опубліковано: 2 січня 2021 Share Опубліковано: 2 січня 2021 (змінено) В 18.10.2020 в 12:44, Vladzimir сказал: Или хотя бы QueryBuilder Ну собственно ORM предполагает использование какого-то QueryBuilder, чтобы трансформировать объектную модуль в SQL запросы. Это бы ОС точно не помешало. Пора уже как то разработчикам ОС двигаться хотя бы в 20 век, а то уже на дворе 21 :-). И уж лучше бы взять какую нибудь вменяемую ORM-библиотеку вроде Doctrine. Да и вообще можно больше компонентов и решений от Symfony позаимствовать. Змінено 2 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options...
EVMedvedev Опубліковано: 3 січня 2021 Share Опубліковано: 3 січня 2021 (змінено) В 19.10.2020 в 11:00, Vladzimir сказал: ORM будет быстрее по вашему? Применение то же Doctrine дает 2 очевидных выгоды. Во-первых это действительно может дать ускорение работы хотя бы уже потому, что в этой библиотеке есть средства кэширования работы непосредственно с базой данных. Во-вторых, возможность ОС работать на разных СУБД, потому что если оперировать только ORM объектами при разработке своего кода, то дальше можно подключать разные библиотеки перевода объектной модели в запросы к разным СУБД и не только реляционные (поддерживается например MongoDB). В Doctrine есть и еще одна фишка, которую тоже можно было бы использовать для ускорения системы. Можно добавлять атрибуты в специальную таблицу, на основании которой регенерировать классы сущностей Doctrine, с помощью которых регенерировать таблицы хранения данных товаров, категорий, клиентов и таким образом добавлять любые типы полей. То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Змінено 3 січня 2021 користувачем EVMedvedev Надіслати Поділитися на інших сайтах More sharing options...
Vladzimir Опубліковано: 4 січня 2021 Share Опубліковано: 4 січня 2021 22 часа назад, EVMedvedev сказал: То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных. Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 4 січня 2021 Автор Share Опубліковано: 4 січня 2021 В 18.10.2020 в 12:08, legioner26 сказал: Сморю там пространство имен и все такое. Ну тогда уже пусть ORM еще делают ))) Там вопрос не в ORM и пространстве имен, не прошло и десять лет, а появилась возможность устанавливать временную зону В 19.10.2020 в 10:45, legioner26 сказал: Ну как в Laravel к примеру, строитель. Можно сложные выборки со связями делать в 2 счета, получить нужную коллекцию. То ты не видел, как на 100 к записях по 70 полей в каждой делается SELECT(id=2 FROM(SELECT * FROM table)). ORM, быстрым магазинам - не товарищ! 1 час назад, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Пока будет частичная нормализация и не будет сводных таблиц, весь оверхед на ООП абстракции - это экономия на спичках. Основной затык - где.. В SELECT from oc_product_description JOIN oc_product - а потом сортировка группировка по полям из разных таблиц. Mysql так быстро делать не умеет от слова совсем - ей подавай одну плоскую таблицу - тогда там и индексы все оживут и проблем с производительностью нет. Вот кстати этот механизм по моему в magento и реализован. Но Даниэль отклонил прекалькуляцию product_total от стика. Так что, свобдных таблиц - мы вряд ли дождемся. А вот пихнуть конструктор запросов - реально ни что не мешает. Да и в целом приведение кода к современным стандартам - это уже неплохо. Правда отсеется сразу половина студентов, которые слабо понимают чем i++ отличается от ++i. 1 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 В 04.01.2021 в 13:26, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Надіслати Поділитися на інших сайтах More sharing options... Vladzimir Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 2 минуты назад, EVMedvedev сказал: Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Есть такое понятие как оптимум. Так вот ORM дает гибкость, но ни как не скорость. Opencart умудряется быть и функциональным и относительно быстрым. Вы же предлагаете ввинтить в него очередной утяжелитель. Разработчикам то будет легко - не спорю, но вот остальным как жить? Надіслати Поділитися на інших сайтах More sharing options... entense Опубліковано: 13 січня 2021 Share Опубліковано: 13 січня 2021 В 18.10.2020 в 12:52, spectre сказал: там так поковырять много интересного например нет папки theme Там теперь и контроллеры и все файлы, будут скорее всего модифицируемыми от модуля, папка extension в корне Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 11 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Opencart 4.x Is Coming!
Yoda Опубліковано: 4 січня 2021 Автор Share Опубліковано: 4 січня 2021 В 18.10.2020 в 12:08, legioner26 сказал: Сморю там пространство имен и все такое. Ну тогда уже пусть ORM еще делают ))) Там вопрос не в ORM и пространстве имен, не прошло и десять лет, а появилась возможность устанавливать временную зону В 19.10.2020 в 10:45, legioner26 сказал: Ну как в Laravel к примеру, строитель. Можно сложные выборки со связями делать в 2 счета, получить нужную коллекцию. То ты не видел, как на 100 к записях по 70 полей в каждой делается SELECT(id=2 FROM(SELECT * FROM table)). ORM, быстрым магазинам - не товарищ! 1 час назад, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Пока будет частичная нормализация и не будет сводных таблиц, весь оверхед на ООП абстракции - это экономия на спичках. Основной затык - где.. В SELECT from oc_product_description JOIN oc_product - а потом сортировка группировка по полям из разных таблиц. Mysql так быстро делать не умеет от слова совсем - ей подавай одну плоскую таблицу - тогда там и индексы все оживут и проблем с производительностью нет. Вот кстати этот механизм по моему в magento и реализован. Но Даниэль отклонил прекалькуляцию product_total от стика. Так что, свобдных таблиц - мы вряд ли дождемся. А вот пихнуть конструктор запросов - реально ни что не мешает. Да и в целом приведение кода к современным стандартам - это уже неплохо. Правда отсеется сразу половина студентов, которые слабо понимают чем i++ отличается от ++i. 1 Надіслати Поділитися на інших сайтах More sharing options...
EVMedvedev Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 В 04.01.2021 в 13:26, Vladzimir сказал: Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой? Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками. Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Надіслати Поділитися на інших сайтах More sharing options...
Vladzimir Опубліковано: 5 січня 2021 Share Опубліковано: 5 січня 2021 2 минуты назад, EVMedvedev сказал: Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. Есть такое понятие как оптимум. Так вот ORM дает гибкость, но ни как не скорость. Opencart умудряется быть и функциональным и относительно быстрым. Вы же предлагаете ввинтить в него очередной утяжелитель. Разработчикам то будет легко - не спорю, но вот остальным как жить? Надіслати Поділитися на інших сайтах More sharing options... entense Опубліковано: 13 січня 2021 Share Опубліковано: 13 січня 2021 В 18.10.2020 в 12:52, spectre сказал: там так поковырять много интересного например нет папки theme Там теперь и контроллеры и все файлы, будут скорее всего модифицируемыми от модуля, папка extension в корне Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 11 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
entense Опубліковано: 13 січня 2021 Share Опубліковано: 13 січня 2021 В 18.10.2020 в 12:52, spectre сказал: там так поковырять много интересного например нет папки theme Там теперь и контроллеры и все файлы, будут скорее всего модифицируемыми от модуля, папка extension в корне Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 2 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 11
Recommended Posts