Знаете, есть такой старый анекдот про программиста, который искал иголку в стоге сена. Он поджег стог, а потом искал иголку в пепле. Примерно так же выглядит мой путь по рефакторингу интернет-магазина, который последние 10 лет жил своей жизнью на Joomla и VirtueMart. «Подумаешь, Joomla, — сказал я себе. — Обычная CMS, миллион сайтов на ней работает. VirtueMart? Тоже ничего, стандартный компонент для магазина. За пару дней перепишем фронт на нормальный PHP, и будем счастливы». О, как же я ошибался. Первое, что меня встретило — это таблицы. Их было много. Очень много. Я насчитал 26 штук, которые так или иначе касались заказов, корзины и пользователей. Это как русский матрешка: открываешь virtuemart_orders, а там virtuemart_order_items, а в нем virtuemart_order_userinfos, а там... Вы поняли. Самое веселое было, когда я понял, что VirtueMart хранит корзину в JSON внутри varbinary поля. Не в отдельной таблице, не в сессии, а в бинарном поле, которое еще и зашифровано непонятно чем. Расшифро