Модификаторов в Опенкарт 4 нет. И слава Богу!

Наткнулся здесь на одну беседу на одном форуме по Опенкарт, в которой некоторые персонажи договорились до того, что Опенкарт умер, потому что в четвертой версии движка нет модификаторов.

Умер Опенкарт или еще жив рассуждать не берусь, но мне в этой связи вспомнился один совсем недавний случай из моей практики:

Заказчик попросил разобраться, почему медленно грузится сайт. Согласно Яндекс метрике время загрузки страницы категории составляло почти 3 секунды.

На соответствующей странице в админке я нашел модификатор, в теге которого стояло довольно известное имя, ведь автор модуля, о котором идет речь, называет себя “Службой поддержки Опенкарт” (возможно это была подделка). Этот модификатор вписывает в catalog/model/catalog/product.php почти 200 строк кода при том, что в данном файле всего 572 строки со всеми отступами. Вся эта красота вываливается в функции getProducts () и getTotalProducts (). Результат: время работы этих функций в чистоте составляет 20-30 миллисекунд, модификатор увеличил это время до 900 миллисекунд (повеяло мертвечиной).

Причем код модификатора выполняется при каждой загрузке категории. Плюс на выходе из этих функций добавлялся event (мало того, что функции на гусиный шаг переведены, еще и палкой по пяткам).

Исходя из этого эпизода в моей практике, я считаю, что отказ разработчика Опенкарт от модификаторов приносит благо и только благо. Теперь разработчики модулей вспомнят, что изменять функции движка нельзя. А такие функции, как getProducts () и getTotalProducts (), совсем нельзя.

Оставить комментарий