Назначение и использование шаблонов
Posted in: Основы регулярных выражений, By: admin, At: Февраль 15th, 2008
По мере того как РНР все в большей мере становится центральным компонентом Web-сайта, возрастает важность правильного управления вашим кодом. Это особенно справедливо, когда множество разработчиков создают один и тот же сайт. Одним из лучших способов сохранения управляемости ваших РНР-ириложеиий является отделение кода HTML от кода РНР, который поддерживает его. Этот процесс называется отделением логики представления от логики приложения. В этой главе будут представлены некоторые наиболее общие методы разделения логики представления и логики приложения, включая пакет шаблонов РНР, называемый Smarty.
В РНР наиболее общим способом отделения логики представления от логики приложения является использование шаблонов. Шаблон (template) — это в общем случае HTML-документ, который содержит специальные маркеры и/или управляющие структуры. Фактически, РНР был изначально разработан как простой макроязык, функционирующий подобно механизму шаблонов.
Отделение общих элементов от кода
По мере роста популярности РНР был быстро адаптирован разработчиками Web-приложений по всему миру, и одна из причин этого была связана с исключительной простотой его изучения. Легкость разработки сделала РНР одним из лучших языков быстрой разработки и прототип и рования приложений. К сожалению, те же свойства, которые делают РНР столь блестящим средством быстрого прототипирования. также позволяют создавать на нем код, трудно поддающийся управлению. Разработчики вскоре обнаруживают, что по мерс того, как их Web-сайты становятся все крупнее и крупнее, все более возрастает необходимость повышения степени модульности. Наиболее общим решением этой проблемы является разделение сайта на элементы, что можно сделать с помощью PHP-оператора include. Например, в большинстве случаев вы можете разделить любой Web-сайт на три элемента: заголовок, нижний колонтитул и основное содержимое. В листинге 7.1 показано, как разделить типовую Web-страницу на три сегмента.
Leave a Reply