Каково различие между Присяжным острословом и Пехлеви?

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

6
задан Matchu 30 May 2010 в 20:42
поделиться

5 ответов

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]

.
12
ответ дан 8 December 2019 в 12:57
поделиться

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

А фреймворк (Zend, CakePHP, Drupal и т.д.) предоставляет по сути расширение языка поверх PHP. Затем вы используете этот "язык" для написания сайта. Он предоставляет вам методы, позволяющие легко решать более сложные задачи (по крайней мере, более сложные). Он обычно помогает в таких вопросах, как доступ к базе данных, безопасность, i18n/l10n, кэширование, шаблонизация и т.д.

3
ответ дан 8 December 2019 в 12:57
поделиться

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

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

Проверьте Zend и Smarty .

2
ответ дан 8 December 2019 в 12:57
поделиться

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

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

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

1
ответ дан 8 December 2019 в 12:57
поделиться

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

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

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

0
ответ дан 8 December 2019 в 12:57
поделиться
Другие вопросы по тегам:

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