phalcon - У нас есть Smarty Template Engine как расширение C?

Мне нравится использовать phalcon для моего следующего проекта, однако я остаюсь перед дилеммой - использовать VOLT (встроенный в шаблонизатор) или SMARTY.

Причина, по которой я задаю этот вопрос, заключается в том, что Phalcon написан как расширение C, поэтому любая библиотека, которую мы добавляем вручную, например smarty, убивает производительность приложения, что является первой причиной, по которой люди используют Phalcon вместо других framwworks.

Но если у нас есть C-расширение для Smarty, оно будет быстрее и эффективнее, поэтому мне просто нужно знать, есть ли у нас такая опция в phalcon?


person mahen3d    schedule 30.09.2014    source источник


Ответы (1)


Phalcon - отличный ускоритель производительности, и если вы не делаете много тяжелого рендеринга шаблонов, это не будет узким местом в 99,999% случаев. Volt не сильно отличается от других движков в том, что он создает кэшированный рендеринг PHP (если он включен) и повторно использует его позже, то есть наибольший прирост производительности происходит во время первоначального создания шаблона, а не во время фактического рендеринга.

Основным (имхо) недостатком Volt является то, что он не такой зрелый и стабильный, как другие альтернативы, такие как Twig и Smarty. Ребята из Phalcon прилагают много усилий и отлично поработали над Phalcon и его компонентами, но они (пока) недостаточно велики, чтобы поддерживать его на том уровне качества, которого хотелось бы большинству из нас. В результате шансы найти проблемы по сравнению с поиском соответствующей документации довольно высоки.

Если у Smarty есть расширение C, и вы с ним знакомы, воспользуйтесь им. Если нет, но вы хотите что-то с изменением производительности, вы можете использовать Twig, я уже некоторое время использую его с Phalcon и никогда не испытывал никаких проблем. В противном случае разница в скорости, вероятно, будет незаметна при использовании Smarty в качестве простой библиотеки PHP.

В Phalcon Incubator можно найти реализации для интегрируя как Smarty, так и Twig.

person Ian Bytchek    schedule 30.09.2014
comment
это не совсем то, о чем говорят некоторые люди, посмотрите blog.sd.idv.tw/archives/788 < / а> - person mahen3d; 30.09.2014
comment
Несколько вещей. Во-первых, как пытается выяснить Пинко, неясно, включено ли расширение C. Во-вторых, включена отладка Twig… почему? В-третьих, это первоначальный рендер или рендер из кеша? Наконец, разница во времени в этом конкретном тесте составляет около 19 микросекунд (1,3 против 20,5 мс), хотя она кажется огромной, когда у вас есть реальное приложение с запросами к базе данных и правильный шаблон с несколькими помощниками, это соотношение будет больше. скорее всего, изменится с 1:20 на 200: 220, что сразу не звучит так драматично. - person Ian Bytchek; 30.09.2014
comment
Кроме того, я вовсе не утверждаю, что Twig или что-то еще будет быстрее, чем Volt, на самом деле я уверен, что Volt будет быстрее. Я говорю о том, что Volt часто более проблематичен (в настоящее время 81 открытая проблема с упоминанием об этом) и менее универсален, чем более зрелые проекты, которые имеют лучшую поддержку сообщества. Если вам нужен базовый шаблонный рендеринг и вам нужна производительность, Volt - это то, что вам нужно. Если вы хотите использовать Smarty, вы много не упустите, и, скорее всего, это не станет каким-либо узким местом. Вот и все. - person Ian Bytchek; 30.09.2014