Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Opencart 4.x Is Coming!


Yoda

Recommended Posts

11 минут назад, Vladzimir сказал:

Значит нужно просто лишнее вырезать,а не строить очередной слой абстракции.

Я уже видел одну CMS в которой абстракция на абстракции сидит и абстракцией погоняет.

И понять что и самое главное как там работает еще тот квест.

 

щас эти разговоры не имеют смысла

как будет так будет и или придется подстраиваться или сделают совсем гавно и придется валить на магенту

Надіслати
Поділитися на інших сайтах

11 часов назад, spectre сказал:

щас эти разговоры не имеют смысла

как будет так будет и или придется подстраиваться или сделают совсем гавно и придется валить на магенту

 

Лучше разговаривать с создателем и предлагать.

Надіслати
Поділитися на інших сайтах

9 минут назад, buslikdrev сказал:

И что - это нативно? Ест доступ из каких-бы то ни было системных ресурсов и возможность модифицирования ?

Надіслати
Поділитися на інших сайтах


17 часов назад, Yoda сказал:

И что - это нативно? Ест доступ из каких-бы то ни было системных ресурсов и возможность модифицирования ?

Добавил такое (Но лучше сделать с проверками для исключения повторений и т.д.):

 

Надіслати
Поділитися на інших сайтах

В 19.10.2020 в 01:11, Yoda сказал:

Вы работали с базами на сотни тысяч записей, в которых у сущностей пару сотен неоднородных свойств.

Какой простите orm в такой ситуации? К чему эти все предварительные глобальные инициализации наборов, а потом выборка путем перебора огромного объекта в памяти. 

Расскажите про ORM любому архитектору мало мальски нагруженного проекта, где каждая лишняя итерация это ещё пару лишних железных серверов. И тогда поговорим. А эти миллеинальные восторги технологиями ваши, я не очень разделяю.

Давайте обойдёмся без громких слов, сколько бы миллионов товаров у меня не было, я беру лишь те, что мне нужны и это кол-во не напрягает БД, так к чему Ваш коммент?

Product::status(true)->get(['title', 'price'])->pagination(30) - Где тут проблема?

Не стоит всех ровнять под одну гребёнку, всегда можно обойтись к примеру фасадом БД. Или Вы считаете у всех миллионы товаров?

Подобная структура таблиц, вот что кромешное дно!

Змінено користувачем Doza
Надіслати
Поділитися на інших сайтах

49 минут назад, Doza сказал:

Давайте обойдёмся без громких слов, сколько бы миллионов товаров у меня не было, я беру лишь те, что мне нужны и это кол-во не напрягает БД, так к чему Ваш коммент?

Product::status(true)->get(['title', 'price'])->pagination(30) - Где тут проблема?

Не стоит всех ровнять под одну гребёнку, всегда можно обойтись к примеру фасадом БД. Или Вы считаете у всех миллионы товаров?

Подобная структура таблиц, вот что кромешное дно!

Да не... У нас в вами разговор тогда будет как у бомжа и ресторанного критика. Я не готов обсуждать любой тезис с профанами.

Если вы там что-то Нафантазировали. Пусть так и будет. В дурдоме все Наполеоны. И ниче. Как-то живут.

Надіслати
Поділитися на інших сайтах


2 минуты назад, Yoda сказал:

Да не... У нас в вами разговор тогда будет как у бомжа и ресторанного критика. Я не готов обсуждать любой тезис с профанами.

Если вы там что-то Нафантазировали. Пусть так и будет. В дурдоме все Наполеоны. И ниче. Как-то живут.

Когда нечего ответить говорим лозунгами? Что же, пусть будет так..

Надіслати
Поділитися на інших сайтах

35 минут назад, Doza сказал:

Ты серьёзно?))

Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус

Надіслати
Поділитися на інших сайтах

1 час назад, stickpro сказал:

Гет это метод который запускает запрос пагинация уже не сработает после, ТК она сама запускает запрос

Так ресторанный критик должен мне об этом рассказать, нет?

 

Интересно, как думаете, yoda ответит?))

Змінено користувачем Doza
Надіслати
Поділитися на інших сайтах

41 минуту назад, stickpro сказал:

Если вы говорите о eloquent ваш запрос не будет работать, Product::whereStatus(true)->select('title, price')->paginate(30) вот так будет, и без пакета от спати, если вы его используете другого конечно объяснения у меня нет откуда взялся статус

Что касается статуса, всё верно, и вот вам привет =)))

image.png.3cbd0787a454e20f8b00c6732270bca0.png

Надіслати
Поділитися на інших сайтах

  • 1 month later...

от говнокода так и не избавились

<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'])
];

 

 
Надіслати
Поділитися на інших сайтах


использовать такое им не мешает

$mail = new \Opencart\System\Library\Mail($this->config->get('config_mail_engine'));

а такое мешает

data['logo'] = $this->model_tool_image->resize(...)

да и какое отношение image имеет к моделям вообще 

почему не использовать Image::resize(...)

 

 

Надіслати
Поділитися на інших сайтах


  • 4 weeks later...
В 18.10.2020 в 12:44, Vladzimir сказал:

Или хотя бы QueryBuilder

 

Ну собственно ORM предполагает использование какого-то QueryBuilder, чтобы трансформировать объектную модуль в SQL запросы. Это бы ОС точно не помешало. Пора уже как то разработчикам ОС двигаться хотя бы в 20 век, а то уже на дворе 21 :-). И уж лучше бы взять какую нибудь вменяемую ORM-библиотеку вроде Doctrine.

Да и вообще можно больше компонентов и решений от Symfony позаимствовать.

Змінено користувачем EVMedvedev
Надіслати
Поділитися на інших сайтах


В 19.10.2020 в 11:00, Vladzimir сказал:

ORM будет быстрее по вашему?

 

Применение то же Doctrine дает 2 очевидных выгоды. Во-первых это действительно может дать ускорение работы хотя бы уже потому, что в этой библиотеке есть средства кэширования работы непосредственно с базой данных. Во-вторых, возможность ОС работать на разных СУБД, потому что если оперировать только ORM объектами при разработке своего кода, то дальше можно подключать разные библиотеки перевода объектной модели в запросы к разным СУБД и не только реляционные (поддерживается например MongoDB).

 

В Doctrine есть и еще одна фишка, которую тоже можно было бы использовать для ускорения системы. Можно добавлять атрибуты в специальную таблицу, на основании которой регенерировать классы сущностей Doctrine, с помощью которых регенерировать таблицы хранения данных товаров, категорий, клиентов и таким образом добавлять любые типы полей. То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных.

Змінено користувачем EVMedvedev
Надіслати
Поділитися на інших сайтах


22 часа назад, EVMedvedev сказал:

То есть сделать механизм, аналогичный Мадженто, который позволяет хранить данные о товарах в плоских таблица, что значительно ускоряет работу с базой данных.

Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой?

Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками.

Надіслати
Поділитися на інших сайтах

В 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 1
Надіслати
Поділитися на інших сайтах


В 04.01.2021 в 13:26, Vladzimir сказал:

Чтобы стать недоманджентой? Со слабым функционалом, зато с высокой нагрузкой?

Все эти абстракции над абстракциями дают только допнагрузку и шильдик со стразиками.

 

Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. 

Надіслати
Поділитися на інших сайтах


2 минуты назад, EVMedvedev сказал:

 

Если вы в чем то не разбираетесь, то это еще не значит, что это плохо вообще. Это плохо только в ваших глазах. Кстати использование ORM еще позволяет и избавить ОС от спагетти кода работы с данными, размазанного между двумя разделами (catalog и admin). Это такой отстой, который кажется остался только в ОС. 

Есть такое понятие как оптимум. Так вот ORM дает гибкость, но ни как не скорость.

Opencart умудряется быть и функциональным и относительно быстрым. Вы же предлагаете ввинтить в него очередной утяжелитель.

Разработчикам то будет легко - не спорю, но вот остальным как жить?

Надіслати
Поділитися на інших сайтах

В 18.10.2020 в 12:52, spectre сказал:

там так поковырять много интересного

например нет папки theme

Там теперь и контроллеры и все файлы, будут скорее всего модифицируемыми от модуля, папка extension в корне

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.