В чем разница между Smarty и Zend? - PullRequest
6 голосов
/ 31 мая 2010

Я наткнулся на Smarty, который является движком шаблонов. Но есть и платформы Zend, CakePHP. Smarty как Зенд, или они совершенно разные? Smarty просто отделяет логику от дисплея - это похоже на фреймворк, как Zend?

Ответы [ 5 ]

12 голосов
/ 31 мая 2010

Smarty - это движок шаблонов, в то время как Zend - полноценный фреймворк php.

Smarty

Smarty - система веб-шаблонов, написанная на PHP. Smarty в первую очередь рекламируется как инструмент для разделения интересов, который является общей стратегией проектирования для определенных видов приложений. [1] [2]

Smarty генерирует веб-контент размещение специальных тегов Smarty в документе. Эти теги обработаны и заменены другими Код.

Теги - это директивы для Smarty, которые заключены в разделители шаблонов. Эти директивы могут быть переменными, обозначается знаком доллара ($), функции, логические или циклические операторы. Smarty позволяет программистам PHP определить пользовательские функции, которые могут быть доступ осуществляется с помощью тегов Smarty.

Smarty предназначен для упрощения разделение, что позволяет презентация веб-страницы для изменения отдельно от серверной части. В идеале, это облегчает затраты и усилия связано с обслуживанием программного обеспечения. При успешном применении этого Стратегия развития, дизайнеры экранированный от внутреннего кодирования, и Программисты PHP защищены от кодирование презентации.

Zend

ZF - фреймворк для использования по желанию. Не существует единой парадигмы или шаблона разработки, которой должны следовать все пользователи Zend Framework, хотя ZF предоставляет компоненты для шаблонов проектирования MVC, Table Data Gateway и Row Data Gateway. Zend Framework предоставляет отдельные компоненты для многих других общих требований при разработке веб-приложений. [1]

Zend Framework также стремится продвигать лучшие практики веб-разработки в сообществе PHP; соглашения не так часто используются в ZF, как во многих других средах, скорее выдвигаются предложения, устанавливающие разумные значения по умолчанию, которые могут быть переопределены для конкретных требований каждого приложения ZF. [4]

3 голосов
/ 31 мая 2010

A шаблонизатор ( Smarty ) просто предоставляет метод для отделения отображения от фактического кода.

A framework ( Zend , CakePHP , Drupal и т. Д.) По существу обеспечивает расширение языка поверх PHP. Затем вы используете этот «язык», чтобы написать свой сайт. Он предоставляет вам методы, позволяющие легко решать более сложные задачи (по крайней мере, в большей степени). Как правило, он помогает с такими вещами, как доступ к базе данных, безопасность, i18n / l10n , кэширование, создание шаблонов и т. Д.

2 голосов
/ 31 мая 2010

Zend - это фреймворк с открытым исходным кодом для веб-приложений.

Smarty - система веб-шаблонов.

Чек Зенд и Смарт .

1 голос
/ 31 мая 2010

Zend - это JIT-реализация языка PHP. Он обрабатывает весь ваш PHP-код и компилирует его в машинный код для выполнения. Среды кэширования, такие как APC, обеспечивают кэширование кода операции для повышения производительности.

Smarty - это язык шаблонов, реализованный на PHP. Разделяет бизнес-логику и представление.

Zend -> PHP -> Smarty -> Ваш сайт

0 голосов
/ 31 мая 2010

Вы несколько смешиваете эти понятия.

Механизм шаблонов не отделяет логику от отображения, но это средство для достижения этого.

Платформа, с другой стороны, представляет собой абстракцию, в которой общий код, обеспечивающий общие функциональные возможности, может быть выборочно переопределен или специализирован с помощью пользовательского кода, обеспечивающего определенные функциональные возможности [Википедия]. Некоторые фреймворки, в том числе Zend Framework, предоставляют реализацию архитектурного паттерна MVC (Model View Controller), что позволяет легко изолировать персистентность, логику и уровни представления.

...