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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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




ГЛАВА 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