vQmod (OCMod) - что это?

Sorry for my English! English is not my native language. One of the reasons to create this blog is to improve my English writing. So I will be highly obliged if you will help me with this. If you find a grammar error on this page, please select it with your mouse and press Ctrl+Enter.

Что такое vQmod (OCMod)?

vQmod (OCMod с версии OpenCart 2.0.0.0) - это система модификации движка без изменения файлов самого движка. Для внесения изменений в код движка вы вместо того, чтобы править код файлов движка создаете xml файл для vqmod в котором согласно правилам прописываете где (в каком файле) что (какую часть кода) нужно заменить (добавить какой-то новый код или изменить существующий). После этого при новой загрузке opencart согласно этим правилам изменяет нужные файлы и записывает уже измененные файлы в папку кеша, после чего при следующих загрузках уже использует кешированые копии этих файлов что почти не влияет на скорость загрузки сайта. При этом оригинальные файлы движка остаются не тронутыми, что теоретически может упростить смену версии движка сайта. 

Читать также: Установка vQmod

Это из хорошего. Теперь из плохого - недостатки vQmod

На самом деле их много, мало того, автор этого блока считает vQmod наибольшим злом для OpenCart. Считаю небезосновательно, а основываясь на своем многолетнем опыте работы с OpenCart, за это время написал несколько десятков модулей для OpenCart, выполнил десятки заданий по OpenCart и исправил наверное до сотни разных конфликтов, большинство из которых возникло именно из-за vQmod. Почему так? Потому что vQmod на самом деле этот не полноценный инструмент, а самый натуральный "костыль", который не решает проблему, а предлагает быстрое и неправильное ее решение. Вместо того, чтобы реализовать в OpenCart нормальную систему модификации движка, основанную на хуках, как в Drupal или событиях, как в Symfony, создатели этого движка решили упростить себе жизнь и создали свое недо-решение проблемы. Почему это плохо? Основная причина это конфликты. Если в Drupal 20 модулей используют один о тот самый хук, то вероятность конфликта десятые доли процента, если в OpenCart всего 2 модуля изменяют один и тот же файл то вероятность конфликта десятки процентов, а если они при этом изменяют с помощью vQmod один и тот самый кусок кода.. то вероятность конфликта возрастает наверное процентов до 90%..  

Именно этот факт и отпугивает от OpenCart большие магазины, так как разработка большого магазина с большим к-вом функционала превращается в ад. И пока ситуация не изменится OpenCart-у суждено быть простым движком для небольших магазинов, а путь в большой бизнес, сегмент больших магазинов для него будет закрыт. 

Радует в этой ситуации то, что создатели OpenCart начали понимать эту проблему и со второй версии в движке появились События (Evets), которые уже предлагают правильный путь изменения движка. Правда, на момент выхода События еще находятся в начальной стадии развития и они еще далеко не покрывают весь движок, как хуки в Drupal, но старт дан и это не может не радовать.  Возможно версии до 3 OpenCart полностью избавится от vQmod (OCMOD) в пользу Событий. 

Add new comment

CAPTCHA
Spam protection
Target Image