WikiDer > Открыть шаблон Power
Разработчики) | Invenzzia Group |
---|---|
Стабильный выпуск | 2.0.6 / 3 сентября 2010 г. |
Предварительный выпуск | 2.1-beta1 / 3 сентября 2010 г. |
Написано в | PHP |
Тип | Движок шаблонов |
Лицензия | BSD-подобный |
Интернет сайт | www.invenzzia.org |
Открыть шаблон Power это движок веб-шаблонов написано в PHP 5. Общая стратегия проектирования веб приложение - это разделение логики приложения (т.е. обработки данных) от представления (отображения данных). OPT - инструмент для реализации такого разделения. Уровень представления представлен шаблонами, текстовыми файлами с кодом HTML и дополнительными инструкциями, управляющими подстановкой данных.
OPT использует специальный язык шаблонов XML для написания шаблонов. Это не универсальный, а предметно-ориентированный язык. Он был в первую очередь разработан для поддержки и упрощения проблем, связанных с конкретным шаблоном, с помощью набора декларативный инструкции. Вместо реализации алгоритмов и операторов рендеринга, как в императивное программирование, дизайнер шаблона указывает ожидаемый результат и особенности. Это нацелено на снижение затрат и усилий, связанных с разработкой программного обеспечения и дальнейшим поддержание.
Библиотека предоставляет объектно-ориентированный API на основе решений популярных фреймворков. Поскольку это первый участник более крупного проекта, Откройте Power Libs, он построен на небольшой базовой библиотеке OPL, которая предоставляет основные функции.
История
Проект стартовал в ноябре 2004 года в качестве механизма шаблонов для проекта доски обсуждений, вдохновленного Умный. Хотя позже это не удалось, библиотека стала независимой. В июле 2006 года вышла версия 1.0.0. Он предлагал язык шаблонов с синтаксисом, подобным Smarty, и небольшой набор декларативных инструкций.
В январе 2007 года разработчики выпускают версию 1.1.0, которая содержит некоторые заметные улучшения, такие как разбивка на страницы поддержка и рендеринг дерева.
В январе 2008 года разработчики формируют команду разработчиков ПО с открытым исходным кодом. Invenzzia для разработки OPT и других PHP-проектов. В то же время началась разработка Open Power Template 2.0.
Последняя версия ветки 1.1 была выпущена в мае 2008 года, и группа сосредоточилась на разработке OPT 2.0. Новая библиотека перешла в стадию бета-тестирования в декабре, а первая стабильная версия была выпущена в июле 2009 года.
Функции
Язык шаблонов OPT 2.0 - это XML приложение и позволяет управлять структурой документа XHTML. Другие особенности:
- Наследование шаблонов и другие расширенные механизмы модуляризации шаблонов.
- Форма оказание поддержки (составные части)
- Генераторы абстрактных декларативных списков (разделы)
- Автоматическая фильтрация против межсайтовый скриптинг атаки.
- Поддержка интернационализации.
- Инструкции по работе с XML.
- Структуры императивного контроля: условия и циклы.
- Выражение язык, оптимизированный для XML, и уровень абстракции, делающий его независимым от типов данных PHP и деталей реализации конкретного приложения (форматы данных).
Встроенный анализатор XML можно перенастроить для анализа определенных документов HTML или обычного текстового содержимого.
Образец заявки
Поскольку шаблоны отделены от логики приложения, вам понадобится как минимум два файла. Первый содержит код презентации в виде XML-шаблона:
<?xml version="1.0" ?> экранирование ="да"> версия ="1.0" /> template ="xhtml10transitional" /> <html> <head> <title>{$ pageTitle}</title> <мета http-Equiv ="Тип содержимого" содержание ="текст / html; charset = utf-8" /> </head> <body> <p>{$ Introduction}</p> <!-- display a list --> имя ="список"> <ol> <Ли opt: section ="список">{$ list.item}</li> </ol> </opt:show> </body> </html></opt:root>
Второй генерирует данные и настраивает библиотеку:
требовать('./libs/Opl/Base.php');Opl_Loader::setDirectory('./libs/');Opl_Loader::регистр();$ tpl = новый Opt_Class;$ tpl->sourceDir = './templates/';$ tpl->compileDir = './templates_c/';$ tpl->настраивать();$ просмотр = новый Opt_View('template.tpl');// Присваиваем данные скрипта шаблону$ просмотр->Заголовок страницы = 'Пример страницы OPT';$ просмотр->вступление = 'Пример текста';$ просмотр->список = множество(0 => множество('элемент' => "Пункт 1"), множество('элемент' => "Пункт 1"), множество('элемент' => "Пункт 1"));$ просмотр->setFormat('список', 'Множество');$ output = новый Opt_Output_Http;$ output->оказывать($ просмотр);