Comments 16
Спасибо, давно ждали подробного описания новых вкусных возможностей pdoTools)
Спасибо большое! Как обычно кто-то, наверняка, заминусит. Тем более спасибо, что зная это написал большой пост.
Как обычно кто-то, наверняка, заминуситДа как обычно завистники напишут: «а где циферки, которые показывают разницу скорости». Но Это ж только завистникам нужны циферки :) Ну и шаблоны… парсеры… PDO — как-то не сходится смысловой ряд, это тоже мелочь…
Специально для тебя обновил топик и добавил тестирование производительности.
Специально для меня не надо. Думаю это всем интересно. Спасибо.
А теперь, давайте немного усложним чанкиЗачем же «не много». Надо хорошенько усложнить. Это же не сложно.
И что, парсер MODX неожиданно вырвется вперёд? За счет чего, интересно?
Здесь нет зависимости от каких-то дополнений, это чистая шаблонизация. Парсер MODX разбирает теги и создаёт из них объекты xPDO, после чего запускает их метод process(). Сколько тегов на странице — столько будет и объектов.
Парсер pdoTools пытается обработать простейшие теги без объектов, а то что не смог — передаёт в modParser и дальше опять объекты. Отсюда уже выигрыш в скорости, и он никуда не денется, как ни усложняй.
Ну а Fenom и вовсе работает с объектом MODX почти напрямую, самостоятельно вызывая нужные методы. Здесь время тратится только на первую компиляцию чанка, а дальше уже чистый PHP.
Если можешь написать такой чанк, который быстрее будет обрабатываться родным парсером MODX, чем pdoTools — буду рад посмотреть.
Здесь нет зависимости от каких-то дополнений, это чистая шаблонизация. Парсер MODX разбирает теги и создаёт из них объекты xPDO, после чего запускает их метод process(). Сколько тегов на странице — столько будет и объектов.
Парсер pdoTools пытается обработать простейшие теги без объектов, а то что не смог — передаёт в modParser и дальше опять объекты. Отсюда уже выигрыш в скорости, и он никуда не денется, как ни усложняй.
Ну а Fenom и вовсе работает с объектом MODX почти напрямую, самостоятельно вызывая нужные методы. Здесь время тратится только на первую компиляцию чанка, а дальше уже чистый PHP.
Если можешь написать такой чанк, который быстрее будет обрабатываться родным парсером MODX, чем pdoTools — буду рад посмотреть.
Тогда смысла в тесте нет. Давай будем теоретизировать, результаты теста убирай.
Тест я уже провёл. Если у тебя есть в нём какие-то сомнения — проведи свой и покажи другие результаты.
Или ты как обычно, просто не можешь пропустить ни одной моей публикации на Хабре?
Или ты как обычно, просто не можешь пропустить ни одной моей публикации на Хабре?
Вася, давай без обид. В хабе MODX очень редко появляются статьи. И все они мне интересны, не зависимо от автора. Сейчас ты протестировал скорость PHP, а не шаблонизатора. Главное в шаблонизаторе это работа со вcякими IF/ELSE.
Если всё, что ты сделал работает без танцев с бубном (как у аналогов), то это большой плюс. Как я понял так и есть. Идея очень хорошая. Вот только название поправишь на TplTools и буду всем советовать. Честно.
Если всё, что ты сделал работает без танцев с бубном (как у аналогов), то это большой плюс. Как я понял так и есть. Идея очень хорошая. Вот только название поправишь на TplTools и буду всем советовать. Честно.
Скобки, скобки, скобки…
Перешел с modx на yii (для сложных проектов) и не нарадуюсь :)
Перешел с modx на yii (для сложных проектов) и не нарадуюсь :)
Можно переменную $_modx сделать глобальной $.modx что бы не заботиться о пробрасывании ее всюду. Не знаю где у вас храниться объект modx, но можно сделать через свойство самого шаблонизатора:
тогда в шаблонах можно писать, причем доступно везде
(доступно с версии 2.8.0)
$fenom->modx = $modx;
$fenom->addAccessorSmart("modx", "modx", Fenom::ACCESSOR_PROPERTY);
тогда в шаблонах можно писать, причем доступно везде
{$.modx->getChunk('MyChunk@PropertySet')}
(доступно с версии 2.8.0)
Спасибо! Только мне кажется, что уже не стоит — чтобы людей не путать. Тем более, что профитов по скорости, скорее всего не будет — объект кэшируется в памяти.
Вся работа с Fenom происходит в одном месте и помимо {$_modx} там добавляется массив {$_pls}, плюс могут быть еще{$modx} и {$pdoTools}.
Наверное, здесь не всё оптимально, но в любом случае это гораздо быстрее работы с чанками MODX по умолчанию. Я уже молчу про более удобный синтаксис.
Вся работа с Fenom происходит в одном месте и помимо {$_modx} там добавляется массив {$_pls}, плюс могут быть еще{$modx} и {$pdoTools}.
Наверное, здесь не всё оптимально, но в любом случае это гораздо быстрее работы с чанками MODX по умолчанию. Я уже молчу про более удобный синтаксис.
Sign up to leave a comment.
MODX Revolution встречает Fenom