Cheizer
@Cheizer

Какой способ с FENOM быстрей? циклы или снипеты?

Друзья, начал изучать FENOM, шаблоны в файлах и тд, понимаю и реально быстрей, видел сравнение парсера таблицу, что при большом количестве парсер FENOM все равно быстрей, пусть и немного, но не могу понять одного, быстрей через снипет, или напрямую быстрей через foreach?

Как быстрей, так
[[getImageList?
  &docid=`[[+id]]`
  &tvname=`address`
  &tpl=`tpl.address`
]]


Или так
{'!getImageList' | snippet : [
'tpl' => 'tpl.addressl',
'tvname' => 'address',
'docid' => $id,
]}


Или так
{set $address = json_decode($id | resource : 'address', true)}
{if $address}
{foreach $address as $item}
{$item.title}
{/foreach}
{/if}

Но через foreach я так понимаю есть один минус, нет работы с кешем как в снипете.

И есть еще такой вариант
{set $items = $_modx->runSnippet('!pdoMenuFenom', [
    'parents' => 0,
    'displayStart' => true,
    'toArray' => true,
])}
{foreach $items as $item}
    {$item['level']}
{/foreach}


Какой вариант по вашему будет грамотней и быстрее исполняться?
  • Вопрос задан
  • 56 просмотров
Пригласить эксперта
Ответы на вопрос 1
an-tar
@an-tar Куратор тега MODX
Full stack web developer
Быстрее через fenom, вариант 1 отпадает.
Из второго и третьего по большому счету разницы нет, разве что во втором явно на неширование можно влиять. в третьем варианте надо дописывать на сей счет.

Четвертый навскидку чуть медленнее третьего, т.к. еще чанк подтягивается.

Да вы сами потестируйте, замеряйте время, данных только много нужно в migx.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы