![]() |
|
||||||||||
|
|||||
|
"simple"
|
Всем привет!
Начитался много всяких комплиментов в адрес шаблонов и решил освоить их, если уж они такие крутые Да вот проблема: везде, где про них пишут, есть только примеры, а вот как работает сам класс - не понятно... Объясните, плз, каким образом реализуются шаблоны, или киньте ссылку на описание их работы... Заранее спасибки ![]() |
|
|||||
|
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
О какой именно системе шаблонов ты говоришь? Ибо разные они. И устроены, соответственно, различно.
P.S. Если есть много свободного времени и крепки нервы, тот на форуме phpclub'а был длинный тред о шаблонах... ![]()
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
|
"simple"
|
Мне интересно, каким образом они ВООБЩЕ работают...
Именно - как... |
|
|||||
|
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
Общая идея такова: у нас есть программа на PHP, реализующая бизнес-логику. У нас есть набор файлов (обычно -- текстовых), описывающих формат отображаемых данных. И есть некий программный код, который результат работы основного алгоритма отображает согласно этим файлам.
Вот эти текстовые файлы называют шаблонами, а последний помянутый программный блок -- template engine'ом. Устроен он может быть по-разному. В простейшем случае его алгоритм может быть крайне просто. Например: 1. Загрузить в массив текстовый файл. 2. В файле найти все фрагменеты вида {Имя}. 3. Заменить каждый такой фрагмент на значение глобальной переменной с таким именем. 4. Выдать полученный текст в браузер. Кроме обработки "на ходу" встречается "компиляция" в PHP. Т.е. если мы имеет вот такой шаблон: ...то при первом обращении для него создается php-скрипт: ....и этот скрипт потом каждый раз инклудится. И в самом простом случае мы называем шаблоном просто php-скрипт, в котором сами себе клянемся не касаться бизнес-логики и только заниматься формированием внешнего представления.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
|
"simple"
|
Спасибо, Crazy...
Но тут слишком много непонятного для меня... Попробуем разобраться... Во-первых, что значит "бизнес -логика"? Цитата:
А вот с компилляцией вообще непонятно... Цитата:
При первом вообще - или при начале захода одного юзера на сайт?.. Какой скрипт инклудится - тоже не понятно... Цитата:
А как-нибуть чуть попроще, плз Заранее огромное спасибо... ![]() |
|
|||||
|
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
Цитата:
1. Принять ввод. 2. Проверить корректность заполнения формы. 3. Добавить пользователя в БД. 4. Выслать на его e-mail уведомление о регистрации. Отдельно существует презентационный слой (он обеспечивает вывод пользователю html-страницы с сообщением об ошибках заполнения формы или об успешной регистрации) и набор обеспечивающих функций (к примеру -- загрузка конфига). Цитата:
Приложение: .... всякая фигня
$message = "Благодарим за ругистрацию в нашей системе, ".$userName;
render_template("regmsg");
Вот таким оно будет после компиляции:
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ Последний раз редактировалось Crazy; 26.09.2002 в 05:45. |
|
|||||
|
"simple"
|
Ещё раз огромные спасибы
но вопросы всё ещё есть... Цитата:
и ещё... значит, мы ложим на сервер ужо скомпилённое или как?.. или как-то проверяем, что к файлу обращаются впервые и компиллим?.. |
|
|||||
|
"simple"
|
Crazy!!!
![]() |
|
|||||
|
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
А ты перечитай для начала написанное выше.
![]()
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
![]() |
Часовой пояс GMT +4, время: 02:06. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|