imho.ws |
![]() |
![]() |
|
Сообщения:
Перейти к новому /
Последнее
|
Опции темы |
![]() |
# 21 | ||||
Junior Member
Регистрация: 04.03.2004
Сообщения: 56
![]() |
Цитата:
Цитата:
Во-вторых, XML можно рассматривать как участок PHP-кода, в котором происходит занесение переменных в шаблон (те самые assign()) и я не думаю, что такие два подхода будут сильно разнится в размерах, но остается открытым вопрос скорости, нужны бенчмарки. В-третьих, собранный XML пожно использовать как один из уровней кеша. Это может быть удобно при реализации двух версий сайта HTTP и WML, когда наполнение одно и то же, но разнятся форматы отображения. Цитата:
Цитата:
Но добавляется еще один этап при генерации шаблона - преобразование XML->HTML с помощью XSLT, так что использование XML для реализации шаблонов будет чуть медленнее, чем прямая генерация HTML. С другой стороны имеем ускорение разработки, за счет упрощения взаимной работы верстальщика и программиста и упрощается поддержка проекта, так как шаблонизатор стандартный (гораздо распространеннее FastTemplate, Smarty и проч.) |
||||
![]() |
![]() |
# 22 | |||
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Шаблонный движок переписать конечно придется, в этом неоспоримое преимущество стандартизированного XML.
Цитата:
Цитата:
Цитата:
![]() ![]() Может кто-то поделиться своим опытом в данном вопросе? Ну дак и какой вывод из последнего абзаца? Жертвуем производительностью ради удобства верстальщика (кстати весьма сомнительного, потому что изучать ему всеравно придется что-то)?
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
|||
![]() |
![]() |
# 23 | |||||
Junior Member
Регистрация: 04.03.2004
Сообщения: 56
![]() |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
![]() |
|||||
![]() |
![]() |
# 24 | |||
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Про функциональность в целом и совместимость такого подхода с использованием XML, я и не спорю. Меня инетерсуют также и другие факторы, и насколько "плюсы" перекрывают "минусы"! Цитата:
![]() Цитата:
P.S. Наконец я осознал необходимость использовать шаблоноподобные подходы, только досих пор не могу понять на чем и как строить наиболее оптимальное решение.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. Последний раз редактировалось Hubbitus; 04.09.2004 в 23:47. |
|||
![]() |
![]() |
# 26 |
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Шаблонных движков куча, и не про них вообще речь идет, а о идеологии и принципе построения.
А генерить на Перле код, в который потом вставлять ПХП - IMHO, изврат.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
![]() |
![]() |
# 27 | ||||||
Junior Member
Регистрация: 04.03.2004
Сообщения: 56
![]() |
Цитата:
Цитата:
Цитата:
![]() Цитата:
![]() Цитата:
![]() Цитата:
Предложенные технологии: 1) Синтаксис ПХП. - плюсы - быстрый не требуется переучиваться, большая функциональность и поддержка всех возможностей ПХП; - минусы - нечеткое разделение кода и дизайна, слабая переносимость шаблонов (при реализации проекта на другом языке, шаблоны придется переделать). 2) Стандартные шаблонизаторы (Smarty, FastTemplate) - плюсы - более сильное разделение дизайна и кода; - минусы - не так быстры, как синтаксис ПХП, при переносе проекта необходимо будет кроме основного кода переносить и шаблонный движок. 3) XML/XSLT - плюсы - полное разделение дизайна и кода, хорошая переносимость (работа с XML/XSLT реализована в большинстве современных языков); - минусы - неясен вопрос производительности (по крайней мере для меня), вводится промежуточный способ хранения данных (XML). Если у кого что есть добавить, прошу высказываться, только без постов вида "... рулит, все остальное %#@$" ![]() |
||||||
![]() |
![]() |
# 28 | |
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Итог Вы подвели очень неплохо, действительно хотелось бы собрать побольше статистики, основанной на опыте..
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
|
![]() |
![]() |
# 29 | |
Junior Member
Регистрация: 04.03.2004
Сообщения: 56
![]() |
Цитата:
Кстати, не учел еще один вариант: 4) Шаблон с произвольным синтаксисом конвертируется в шаблон с синтаксисом ПХП |
|
![]() |
![]() |
# 30 | |
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
|
![]() |
![]() |
# 31 | |
Junior Member
Регистрация: 04.03.2004
Сообщения: 56
![]() |
Цитата:
Предположим, верстальщик собрал шаблоны, преобразовали их к виду ПХП, все работает. Понадобилось изменить какую-нибудь мелочь, например вставить блок погоды на главную страницу, верстальщика под рукой не оказалось (в отпуске, болеет, лень звать) и программер просто прописал все в откомпилированных шаблонах. Через неделю поменяли оформление табличек, верстальщик подправил исходные шаблоны, откомпелировал их и записал на место старых, при этом уничтожив блок погоды. При использовании таких промежуточных вариантов всегда остается вероятность несимметричных обновлений исходных шаблонов и их откомпелированных вариантов. Можно, конечно, после компиляции шаблонов их еще и через ZendEncoder прогнать, но какая-то длинная цепочка получается, да и Zend Encoder не совсем бесплатная программка, к тому же требует наличие ZendOptimizer'а на сервере. |
|
![]() |
![]() |
# 32 | |
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
|
![]() |
![]() |
# 33 | |
Junior Member
Регистрация: 04.03.2004
Сообщения: 56
![]() |
Цитата:
Риск возникновения ситуации остается и приходится вспоминать Закон Мерфи: "Если существует вероятность допустить ошибку в настройке прибора, техник ее обязательно допустит". В нашем случае руками поправит шаблон. |
|
![]() |
![]() |
# 35 |
Full Member
Регистрация: 29.05.2002
Сообщения: 544
![]() ![]() ![]() ![]() ![]() |
имхо, для php4 в любом случае нужно использовать HTML, по причине того, что XML/XSLT там поддерживается экспериментально, и не все функции удовлетворяют стандартам DOM. к тому же это банально неудобно(именно в php4).
последний месяц использую: KTemplate вместе с php4. плюсы: +очень легкий и небольшой класс +возможность делать шаблон в одном файле, т.е. допустим нужно "раскрасить html"(вполне стандартная задача). KTemplate позволяет задать возможные куски в одном файле. На php остается только распарсить и соединить нужные блоки. +полное отделение кода от представления в php5 появились действительно полезные возможности, например simpleXML, с которым работать одно удовольствие. тут уже можно серьезно заняться решением: XML|XSLT. Пример недавно был приведен в этмо форуме.
__________________
убрано по просьбе администратора ![]() |
![]() |
![]() |
# 36 |
Guest
Сообщения: n/a
|
Привет.
1. Вообе-то поставленный вопрос (об использовании шаблонизаторов) становится неактуальным если верстальщик (верстальщики) и программист (программисты), работающие над проектом, очень хорошо знают свое дело. В этом случае хотя и получается изобретение велосипеда, но этот велосипед ездит быстро и не ломается. 2. К тому же, че универсальнее инструмент (Smarty, например) для работы с другими инструментами (php+mysql+html+css+js...), тем больше вероятность нестабильной работы объекта (web-приложение), который с помощью этих инструментов создан. И, да простят меня модераторы за маленький флуд, если Вы используете все эти инструменты и у Вас все работает быстро и корректно - значит Вы постигли Дао web-разработки и к Вам применим пункт 1. ![]() Что касается быстрого изменения репрезентации бизнес-логики - так шаблон на все случаи жизни все равно не создашь. Мое субъективное мнение. ![]() |
![]() |
# 37 | |
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Насчет стабильности работы и возможности ошибок - согласен что чем сложнее тот или иной проект и/или применяемый инструмент, тем вероятнее допустить ошибку или неточность. Но ведь это теперь отнюдь не значит что нужно от всего что сложнее стати ческого HTML отказаться... Просто нужно найти некоторый баланс, золотую середину... вот ее я и хочу найти, но пока не совсем даже понимаю где искать.... ![]()
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
|
![]() |
![]() |
# 38 |
Advanced Member
Регистрация: 08.08.2002
Адрес: Nab. Chelny, Tatarstan
Сообщения: 447
![]() ![]() ![]() |
почитал я эту ветку и вот чего подумал:
можно же написать прогу (хоть на дельфях, хоть на том же php) которая будет менять {Сontent} в шаблоне на <?=$Content?> и записывать полученный файл на сервак, причем ни программер, ни верстальщик не будут видеть/редактировать полученный файл. Получается этакий компромис.
__________________
-=Nomen est Omen=- |
![]() |
![]() |
# 39 |
Junior Member
Регистрация: 04.03.2004
Сообщения: 56
![]() |
ReapeR
Этот вариант рассматривался выше и отмечалась некотороя сложность с поддержанием соответствия локальный файл -> шаблон и отсутствие (или почти отсутствие) возможности запретить прямое редактирование откомпилированного шаблона. |
![]() |
![]() |
# 40 |
Full Member
Регистрация: 29.05.2002
Сообщения: 544
![]() ![]() ![]() ![]() ![]() |
сейчас буду первый раз использовать систему xml+xslt+php5+база данных
система такая: есть бд(данные) есть формат данных(в xml)+шаблон(ы) в xslt. при редактировании базы данные меняются: 1. в базе. 2. пересоздается xml-файл. при запросе всегда выдается: xml+xslt => html. такая схема очень хорошо подходит для страниц, которые не часто редактируются(каталог, публикации и т.д.).
__________________
убрано по просьбе администратора ![]() |
![]() |