П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 178210 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 75669 раз(а).

Учебник HTML.
Просмотров 74130 раз(а).

Руководство по PHP5.
Просмотров 45068 раз(а).

Хостинг через призму DNS.
Просмотров 52016 раз(а).

Подборка текстов стандартных документов.
Просмотров 45158 раз(а).

Учебник PHP - Самоучитель
Просмотров 51394 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 51849 раз(а).

Внешние атаки...
Просмотров 41970 раз(а).

Учебник PHP.
Просмотров 37327 раз(а).

SSI в примерах.
Просмотров 27872 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





ГЛАВА 12. Шаблоны

Расширения класса template

Конечно, класс tempi ate обладает весьма ограниченными возможностями, хотя для проектов, создаваемых на скорую руку, он вполне подходит. Объектно-ориентированные схемы хороши тем, что они позволяют легко наращивать функциональность, не беспокоясь о возможных нарушениях работы существующего кода. Допустим, вы решили создать новый метод, который будет загружать значения для последующей замены из базы данных. Хотя такой метод устроен чуть сложнее, чем метод file_parser(), производящий простую замену глобальных переменных, его реализация на базе SQL состоит из нескольких строк и легко инкапсулируется в отдельном методе. Более того, мы создадим нечто подобное в проекте адресной книги, завершающем эту главу.

В класс template можно внести несколько очевидных усовершенствований. Первое — объединение функций register_file() и register_variables(), обеспечивающее автоматическую регистрацию переменных для каждого регистрируемого файла. Конечно, при этом также необходимо реализовать проверку ошибок, чтобы предотвратить регистрацию неверных файлов и переменных.

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

Общие схемы работы с шаблонами были реализованы на нескольких языках и ни в коем случае не являются чем-то принципиально новым. В Web можно найти немало информации о реализации шаблонов. Рекомендую два особенно интересных ресурса — сборники статей, написанных с ориентацией на JavaScript:

В следующей статье затронута тема использования шаблонов применительно к Java Server Pages:

Кроме того, описанная схема построения шаблонов используется в нескольких библиотеках РНР, среди которых наибольший интерес представляют следующие:

На сайте ресурсов РНР, PHPBuilder(http://www.phpbuilder.com/), также имеется несколько интересных учебников, посвященных обработке шаблонов. Кроме того, загляните на сайт РНР Classes Repository(http://phpclasses.upperdesign.com/), здесь также можно найти несколько реализаций.

Назад | Содержание раздела | Общее Содержание | Вперед



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru