|
|
Блог |
|
Главная » 2011 » Февраль » 5 » Механизм шаблонов Smarty
19:10 Механизм шаблонов Smarty |
Smarty — это необычайно мощная и сложная система шаблонов, доступная разработчикам РНР. Возможно, это наилучшее универсальное базовое решение из когдалибо существующих, которое разделяет логику представления и логику приложения без принесения в жертву удобства и практичности. Несмотря на то что она функционирует как полный сценарно-шаблонный язык, применение этой функциональности не является обязательным. Когда автор впервые познакомился с пакетом Smarty, то немедленно отвернулся от него, увидев первый же пример. Этот пример шаблона был настоящей программой — со своими собственными правилами, управляющими конструкциями, внутренними вызовами функций и так далее. Мое представление о шаблонах состояло в том, что их назначение — избавить Web-дизайнера от путаницы в коде РНР. Мне казалось, что, несмотря на то, что Smarty может отделить РНР от HTML, это решение требует от Web-дизайнеров изучать полностью самостоятельный "сценарный" язык Smarty. Так или иначе, автор был весьма разочарован и быстро удалил Smarty из своей системы. Некоторое время спустя, работая над статьей о разделении приложения и бизнеслогики, автор вновь обратился к Smarty. Ради пблноты изложения было решено включить в статью немного информации о Smarty, что, естественно, подвигло автора на то, чтобы изучить его поглубже. По мере углубления в документацию Smarty и экспериментирования с ним, мнение о нем стало меняться. Хотя он и оснащен некоторыми очень сложными для механизма шаблонов средствами, но также и поддерживает простую подстановку переменных, которое было представлено в разделе о Quick-Template. Кроме того, этот механизм поддерживает широкий набор управляющих конструкций, таких как условные операторы и циклы, которые позволяют полностью отделить логику представления от логики приложения. Возможно, учитывая всю эту функциональность, вы ожидаете, что Smarty работает медленно, однако лично автора, пожалуй, более всего поразило, что он быстр — быстрее любого другого механизма шаблонов РНР! С тех пор мнение автора о Smarty изменилось, и он стал его горячим сторонником. Как же механизм шаблонов Smarty делает это? Он использует уникальную (по крайней мере, есть такая информация) концепцию — компилирует шаблоны в родной PHP-код. Таким образом, когда шаблон загружается в первый раз, Smarty сначала компилирует его в PHP-сценарий, который сохраняется, а затем выполняет этот код шаблона. Это делает шаблоны почти настолько же быстрыми, как и сам РНР, а также невероятно масштабируемыми. В довершение ко всему этот механизм построен таким образом, что его управляющие конструкции конвертируются непосредственно в РНР-код, представляя им всю мощь и гибкость их эквивалентов на РНР, избегая, любых сложностей.
|
Категория: Все о PHP |
Просмотров: 1822 |
Добавил: witkom8382
| Рейтинг: 0.0/0 |
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
|
|
Copyright MyCorp © 2024 |
|
|
|