О чем говорилось выше
До настоящего момента я упоминал о двух разных подходах к созданию шаблонов РНР:
- внедрение HTML в код РНР;
- включение файлов в страницу.
Хотя первая схема более понятна и проще реализуется, она также в большей степени ограничивает вашу свободу действий. Главная проблема заключается в том, что код РНР смешивается с компонентами HTML, образующими макет страницы. Возникающие при этом проблемы связаны не только с необходимостью потенциальной поддержки одновременного доступа к странице и ее модификации, но и с повышенной вероятностью ошибок при непосредственном просмотре и редактировании страниц.
Вторая схема во многих ситуациях оказывается гораздо удобнее первой. Тем не менее, хотя структура «заголовок — основная часть — колонтитул» (см. главу 9)
хорошо
подходит для структурирования
относительно малых сайтов с четко
определенным форматом, с увеличением
объемов и сложности проекта эти
ограничения проявляются все заметнее.
Попытки решения этих проблем привели к
разработке новой схемы применения шаблонов,
более сложной по сравнению с двумя первыми,
но и обладающей существенно большей
гибкостью. В этой схеме разделяются два
главных компонента web-приложения: дизайн и
программирование. Подобное деление
обеспечивает возможность параллельной
разработки (web-дизайн и программирование)
без необходимости постоянной координации
на протяжении всего рабочего цикла. Более
того, оно позволяет в будущем
модифицировать один компонент, не влияя на
работу другого. В следующем разделе я
покажу, как устроена одна из таких схем «нетривиальных
шаблонов». Следует помнить, что эта схема
существует не только в РНР. Более того, она
появилась задолго до РНР и в настоящее
время используется в нескольких языках,
включая РНР, Perl и Java Server Pages. To, что описано в
этой главе, — не более чем адаптация этой
схемы применительно к РНР.