Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Шаблонизатор 
:(
    Опции темы
CyClon
Дата 25.2.2008, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: 3
Всего: 4



Цитата
Вот и посмотрим, чего на самом деле стоят оба подхода =)


Смотри выше...

Код
$blocks_foot = array('[1]', '2', '3');
$tpl->assign($blocks_foot, 'blocks-foot');


Ясно, что строки [1], 2 и т.д будут генерироваться скриптом тех же новостей.

ЗЫ:

Код
<!-- BEGIN blocks-foot --><a href="http://example.com/news.php?id={BLOCK:VALUE}"><b>{BLOCK:VALUE}</b></a> <!-- END blocks-foot -->



--------------------
user posted image
PM   Вверх
GeneralElectric
Дата 25.2.2008, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



Извини, но то, что ты сейчас здесь набросал на скорую руку - это не ответ на мой вопрос.
Где в твоем шаблоне выделение текущей строки? где вывод "первая", "полследняя"? 
С какой стати строка [1] будет генерироваться скриптом новостей? Почему оформление текущей страницы пишеть программист? А если дизайнер захочет не квадратные скобочки, а фигурные? Выделить болдом? Или вообще - картинку?
Какой смысл мы вкладываем в шаблонизацию? Согласен ли ты, что в РНР коде не должно быть ни одного хтмл тега?

Да, я знаю, что задаю неудобные вопросы. Не поддерживаю высокие разговоры об абстрактных материях и передовых технологиях. Я задаю практические конкретные вопросы. Но ответ на них как раз и проверяет правильность и жизненность всех этих красивых теорий.

Поэтому у меня будет просьба: если уж ты решишь ответить, то отвечай не как это будет с точки зрения теории, а напиши конкретный, рабочий пример. Он все равно тебе пригодится, ведь постраничный вывод - одна из самых распространенных задач.

Это сообщение отредактировал(а) GeneralElectric - 25.2.2008, 11:45
PM MAIL   Вверх
flashaa
Дата 25.2.2008, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 19
Всего: 25



Цитата(GeneralElectric @  25.2.2008,  01:07 Найти цитируемый пост)
Как следствие, требуется отдельный программист на проект. 

Ничего нет в XSLT сложного. Есть HTML, есть управляющие команды. Конечно часть логики вынесена в шаблон. Но это логика отображения. И чтоб делать гибкий вывод, лучше уж пусть останется этот кусочек логики в шаблоне. Сложность "освоения" шаблона дизайнером зависит не от языка шаблонов. У всех шаблонизаторов суть примерно одна. И вряд ли дизайнеру будут нужны какие-то фундаментальные познания. Типа того как изменить приоритет включаемого шаблона или даже сделать собственный цикл. Если дизайнеру дается работающий XLST шаблон, то все что ему надо - посмотреть общую структуру страницы (здесь - правая колонка, тут - левая, тут - баннер  и тп) и заменить старый HTML на свой, новый. И то, как быстро он это сделает, зависит скорее от того, насколько хорошо шаблон был комментирован и от его структуризации. Т.к. XSLT  по сути - XML-дерево, то сделать в нем неудобное оформление весьма сложно. В любой момент можно автоматически выстроить дерево в каком-нибудь редакторе. По поводу комментариев. XSLT по своей природе блочен (xls:template). Если для каждой страницы сделать свои шаблоны, которые будут состоять из "обертки" сайта (<html>...) и отдельного файла шаблона на каждый раздел, то все и так понятно. 

index.php
index_header.xls
index_users.xsl
index_chapters.xsl

admin.php
admin_header.xsl
admin_rights.xsl
admin_bans.xsl

Пара комментариев в заголовке каждого файла - и у вас готовый учебник по XLST. К минусам XLST можно отнести негативные факторы древовидной структуры - управляющие структуры вынуждают писать много кода. Чтоб освоить xslt, надо 2 недели максимум. На моем опыте, дизайнер, не знающий XSLT, правил шаблоны XSL за 2 дня и все у него получалось отлично.

Это сообщение отредактировал(а) flashaa - 25.2.2008, 12:33
PM MAIL   Вверх
awers
Дата 25.2.2008, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



flashaa, "надо 2 недели максимум. " пошутил видимо? может ты имел в виду первое знакомство - 2 недели? или зря пишут книги по 2 тысячи страниц по XML/XSL? огромное количество вариаций.... 


GeneralElectric, с суть XML/XSL случаем не отчистка PHP от HTML тегов? даже морочиться писать не буду ничего для приведения примеров. Там в 10 строк кода.
PM MAIL WWW ICQ Skype   Вверх
GeneralElectric
Дата 25.2.2008, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



awers, спасибо за то, что ты опять со мной согласился, подтвердив абсолютную равнозначность XSLT любому ддругому шаблонизатору, суть которого сводится к очистке PHP от HTML тегов.
Учитывая же озвученную тобой чрезмерную сложность XSL, в связи с которой даже 10 строк кода представляют собой ощутимую по трудозатратам задачу, получается, что на свой вопрос - чем нам XML/XSL не угодили то - ты сам себе и ответил =)

Это сообщение отредактировал(а) GeneralElectric - 25.2.2008, 18:00
PM MAIL   Вверх
awers
Дата 25.2.2008, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



Оо упал в обморок. Я имел в виду что все настолько просто что я деже небуду на это заморачиваться. И к тому-же ниодин другой шаблонизатор не предоставит таких возможностей как XSLT. Передергивать мои слова ненужно
PM MAIL WWW ICQ Skype   Вверх
flashaa
Дата 25.2.2008, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 19
Всего: 25



Цитата(awers @  25.2.2008,  17:15 Найти цитируемый пост)
" пошутил видимо? может ты имел в виду первое знакомство - 2 недели? или зря пишут книги по 2 тысячи страниц по XML/XSL? огромное количество вариаций.... 

Эээ. Ну как бы тебе сказать. На одном из рабочих мест я не знал XLST, но знание требовалось. На изучение его потратил 1 неделю. Через неделю уже во всю работал. Ну конечно во время работы подсматривал в мануалы и дальше что-то новое узнавал. Это обычное дело. Или с PHP ты никогда не совершенствуешься в процессе работы? 
Какие тысячи страниц. XML это максимум 100 страниц. В XSL теория займет тоже около 100 страниц МАКСИМУМ. Остальное - рациональные решения, наработки, которые можно писать бесконечно. А можно просто понять суть и дальше все само собой вытекает.
ХSL стоит на нескольких китах. Просто несколько необычны они в сравнении с операцией замены {title} на "превед" smile Но XSL не содержит никакой мишуры, не нужной для шаблонов, поэтому просто не в чем запутываться и неправильно что-то использовать.

Ах, да. При использовании XSL нужно знать XPath. А по нему наверняка тоже некоторые пишут тысячи страниц )

Это сообщение отредактировал(а) flashaa - 25.2.2008, 18:35
PM MAIL   Вверх
Daevaorn
Дата 25.2.2008, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: нет
Всего: 70



Есть мнение, что заставлять писать человека xml это не гуманно и должно быть запрещено конвенцией ООН. Полностью согласен, там более когда им злоупотребляют, как в случае XLST-шаблонизатора.
PM MAIL WWW   Вверх
awers
Дата 25.2.2008, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



тогда PHP стоит запретить в первую очередь
PM MAIL WWW ICQ Skype   Вверх
flashaa
Дата 25.2.2008, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 19
Всего: 25



Ага. XML писать негуманно. А все остальное гуманно? Пусть ООН запретит вообще что-либо писать. И будет нирвана.

PM MAIL   Вверх
GeneralElectric
Дата 25.2.2008, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



awers, не смог привести ни одного примера или простого и непротиворечивого доказательства превосходства XSL над другими шаблонизаторами. Все, что он говорит, в одинаковой мере присуще любым другим системам. Только голословные утверждения - "XSL быстрее всех", "XSL предоставляет такие возможности, которых у других нет". И ни одного догазательства

Я думаю, стоит прекратить эту беседу в стиле священной войны.

PM MAIL   Вверх
flashaa
Дата 25.2.2008, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 19
Всего: 25



Забыл ещё аргумент в пользу XSLT. Он является некоторой абстракцией отображения. Т.е. часто шаблонизаторы работают с PHP. А XSLT поскольку работает с XML деревом работает на многих платформах. Во всяком случае, точно работает с Perl, и , возможно, с Java. Вообще будет работать везде, где есть поддержка XSLT-трансформации.
Если подытожить, то мое мнение такое - либо PHP-шаблоны, либо XSLT. В зависимости от сложности проекта, аудитории. Для коммерческих популярный сайтов, конечно, стоит отказываться от XSLT, ибо несколько тяжелее.  В этом случае, имхо, использовать надо PHP или вообще менять платформу.

Дополнительные шаблонизаторы - зло, потому что
1) стоят времени
2) добавляют нагрузки процессору
3) добавляет кучу классов/функций/файлов, в которых нужно дополнительно разбираться
4) без них легко можно обойтись

И ещё. Если человек способен понять {title}, но не способен понять <xsl:value-of select="/page/@title"/> или <?php echo $title; ?>, то гнать такого в шею.

Это сообщение отредактировал(а) flashaa - 25.2.2008, 19:06
PM MAIL   Вверх
awers
Дата 25.2.2008, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



Брависсимо, но вы товарисч забываете что мы живем не в 10 веке, когда компутер совершал 4 операции в минуту. На моей слабой тачке, мой шаблонизатор обрабатывает страницу (из 4х частей по 4-10 кил каждый) плюс подключение к бд, статистика ... всего за 0,012 сек. Это очень ресурсоемко?
PM MAIL WWW ICQ Skype   Вверх
flashaa
Дата 25.2.2008, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 19
Всего: 25



awers, ну и хорошо, что так. Но серьезные проекты так не делаются -  "ну и пофиг, что мое решение больше тормозит. Все равно комп то мощный!". Хотя зависит все, как я уже сказал, от конкретной задачи. Если никак не удается найти дизайнера, который поймет <?php echo $title; ?>, то тогда да, решение оптимально.
PM MAIL   Вверх
awers
Дата 25.2.2008, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



Я думаю что мало кто из Вас товарисчи делал такие сайты, где это было бы критично.
Давай рассмотрим ситуацию: есть время 86 400. Это кол-во секунд в сутках. Даже если работа скрипта займет 0,3 секунды - это уже 288 тысяч посещений в день. Логично?
PM MAIL WWW ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1125 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.