![]() |
шаблоны...
Всем привет!
Начитался много всяких комплиментов в адрес шаблонов и решил освоить их, если уж они такие крутые :) Да вот проблема: везде, где про них пишут, есть только примеры, а вот как работает сам класс - не понятно... Объясните, плз, каким образом реализуются шаблоны, или киньте ссылку на описание их работы... Заранее спасибки :) |
О какой именно системе шаблонов ты говоришь? Ибо разные они. И устроены, соответственно, различно.
P.S. Если есть много свободного времени и крепки нервы, тот на форуме phpclub'а был длинный тред о шаблонах... :) |
Мне интересно, каким образом они ВООБЩЕ работают...
Именно - как... |
Общая идея такова: у нас есть программа на PHP, реализующая бизнес-логику. У нас есть набор файлов (обычно -- текстовых), описывающих формат отображаемых данных. И есть некий программный код, который результат работы основного алгоритма отображает согласно этим файлам.
Вот эти текстовые файлы называют шаблонами, а последний помянутый программный блок -- template engine'ом. Устроен он может быть по-разному. В простейшем случае его алгоритм может быть крайне просто. Например: 1. Загрузить в массив текстовый файл. 2. В файле найти все фрагменеты вида {Имя}. 3. Заменить каждый такой фрагмент на значение глобальной переменной с таким именем. 4. Выдать полученный текст в браузер. Кроме обработки "на ходу" встречается "компиляция" в PHP. Т.е. если мы имеет вот такой шаблон: Код:
Hello, {username}!Код:
Hello, <?= username ?>!И в самом простом случае мы называем шаблоном просто php-скрипт, в котором сами себе клянемся не касаться бизнес-логики и только заниматься формированием внешнего представления. |
Спасибо, Crazy...
Но тут слишком много непонятного для меня... Попробуем разобраться... Во-первых, что значит "бизнес -логика"? Цитата:
А вот с компилляцией вообще непонятно... Цитата:
При первом вообще - или при начале захода одного юзера на сайт?.. Какой скрипт инклудится - тоже не понятно... Цитата:
А как-нибуть чуть попроще, плз :D Заранее огромное спасибо... :) |
Цитата:
1. Принять ввод. 2. Проверить корректность заполнения формы. 3. Добавить пользователя в БД. 4. Выслать на его e-mail уведомление о регистрации. Отдельно существует презентационный слой (он обеспечивает вывод пользователю html-страницы с сообщением об ошибках заполнения формы или об успешной регистрации) и набор обеспечивающих функций (к примеру -- загрузка конфига). Цитата:
Приложение: Код:
.... всякая фигняPHP код:
PHP код:
Код:
<html><head><title>Regform</title></head>Код:
<html><head><title>Regform</title></head> |
Ещё раз огромные спасибы :)
но вопросы всё ещё есть... Цитата:
и ещё... значит, мы ложим на сервер ужо скомпилённое или как?.. или как-то проверяем, что к файлу обращаются впервые и компиллим?.. |
Crazy!!! :rolleyes:
|
А ты перечитай для начала написанное выше. :)
|
| Часовой пояс GMT +4, время: 04:27. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.