Воеводский Михаил

Воеводский Михаил

Был в сети 30 марта 2026, 14:44
Заказы не принимаю
Полностью объективного сравнения, кстати, тоже вряд ли стоит ожидать. В зависимости от предпочтений тестируюшего, даже указанное выше отличие может быть плюсом одного и минусом другого. Или наоборот.

ЗЫ: Это не камень в огород :)
Красивый лог :)

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

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

Я сравнение точно производить не буду. Николай, может, выделишь как-нибудь время? Даже интересно стало.
Кстати, что еще сильно подкупает в реализации Василия — возможность использовать феном везде сразу после установки pdoTools. Более того, есть возможность даже совмещать стандартный синтаксис MODX и феном в одном и том же элементе. Это позволяет не полностью на феноме переписывать проект, а изменить сначала наиболее проблемные его места.

Как с этим обстоят дела в смарти — не знаю. Возможно, так же. Николай?
Николай, очень ожидал твой вопрос. Только забыл добавить в своем предыдущем комментарии «не очень понравился в тот момент».

Приведенный код будет практически таким же, согласен.
Начав работу с готовым проектом на смарти, по сравнению со стандартным подходом в MODX, мне не понравилось, что абсолютно все было сделано в шаблонах. Чанки практически не использовались, сниппеты тоже минимально. Получалось, что контроллер и вид смешаны между собой, лишь модель отделена.

Поскольку я пока работал только с одним проектом на смарти, мой комментарий не нужно принимать за истину в последней инстанции. Всегда все зависит от подхода разработчика, а технология лишь инструмент.
Пару дней назад хотел предложить добавить в $_modx метод getResource, но забыл об этом. Смотрю сейчас обновление (2.1.17), которое было выпущено не более суток назад — именно этот метод и оказался добавлен.
Василий, спасибо!
В качестве дополнительного примера

Недавно попал мне сайт, страница каталога на котором генерировалась 14-15 секунд. После просмотра чанков, участвующих в формировании элементов каталога, увидел нечто дико страшное — кучи вызовов всего и вся для всех типов товаров, а проверка результата для возврата значений — через сниппет [[IF]]. Причем, почти все там вызывалось некэшированным.

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

Итог: время генерации страницы сократилось до 0.8-1.1 сек. Не идеально, но с начальным временем не сравнить. При желании, оптимизировать там еще много чего можно, но требовалось максимально быстро сократить время создания страницы до более-менее адекватных значений.

Код
до, после.