Обзор OpenCart 2 — для разработчиков

21.03.2018 12:43 (458 просмотров)

Преимущества

  • Открытый исходный код
  • Модификаторы - при модификации файлов системы необходимо использовать xml-файлы с описанием замен, а не делать их вручную. Это позволяет отключить любые изменения в любой момент. Подробнее о модификаторах в отдельной статье "Модификаторы в OpenCart и вытекающие проблемы"
  • Архитектура MVC (Model View Controller)
  • Лог ошибок - в разработке на OpenCart в Вашем распоряжении лог ошибок (никогда не следует отключать запись ошибок в Системма - Настройки магазина - Вкладка "Сервер"). Очень часто там можно найти полезные сведения в момент, когда надо что-то дебажить, если только у Вас на самом сервере не будет глобально отключен показ ошибок.
  • Самоизучаемая система. Если на WordPress я делал сайты с постоянно открытым wp-kama.ru - а то иначе "фиг" запомнишь все эти функции, то на OpenCart можно писать, практически, без "учебника" - можно просто открыть исходный код файла с другой сущностью и оттуда накопипастить. Но это получается благодаря тому, что везде явная загрузка моделей, и много копипаста кода.

 

Недостатки

  • Много повторяющегося кода. Даже для такоих системных вещей, как получение существующих языков или валют, необходимо повторять несколько строк кода в контроллере той сущности, с которой работаешь. И это часто критикуется в интернете, мол, противоречит принципу DRY (Don't Repeat Yourself). Но зато, в процессе работы волей-неволей изучаешь "внутренности" системы, а не просто относишься к ней, как к черному ящику. С непривычки, конечно, длинные файлы трудновато читать и редактировать, но потом, когда вдруг ненароком возвращаешься к WordPress, то просто "офигеваешь", как там все загадочно и неочевидно, хотя и коротко. А тут все всегда, как на ладони. Лично для меня лучше повтор, чем 150 функций в двух вариациях на каждый чих.
  • Необходимость писать модификаторы также неоднократно была раскритикована: мол, где-там программирование, если все в xml-файлах. Другие наоборот утверждают, что это революционная "метода"... Тут опять же - дело привычки. Сначала - воротит, потом появляется азарт при использовании модификаторов, потом становится безразлично. Опять же, шаблон дизайна модификаторами нет смысла атаковать - проще отредактировать прямо в коде (этот вредный совет предполагает, что Вы вряд ли будете обновлять шаблон до новых версий).
  • Отсутствие гарантии целостности данных. В частности, не всегда точное кол-во остатков на складе. Но вроде бы интернет-магазин для этого и не предназначен, чтобы быть источником такой информации. Для малого бизнеса это вряд ли будет проблемой. А крупный - использует программы складского учета и выгрузки остатков на сайт. Ну и опять же, почему нет гарантий? Потому что используется MyISAM. А если использовать InnoDB, то это будут уже совершенное другие расходы на содержание сервера.
  • Есть ряд недостатков самой системы, описанных в общем обзоре. По сути, их нужно просто знать и закрыть с самого начала при запуске любого нового магазина.