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

Поиск:

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


Опытный
**


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

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



Пусть приемлимо в плане производительности. Мне сам подход не нравится. Я писал так же и другие недостатки. 
К тому же не люблю я шаблоны, которые занимаются заменой одних букв на другие. Мое убеждение - если мы собрали данные, которых достаточно для для вывода страницы, то их необходимо передавать шаблонизатору. А он уже с этими данными разбирается. В основном скрипте должна быть по максимуму логика, и меньше рутины. В частности, меньше рутины по отображению.
Если не оставлять логики в шаблонизаторе, то необходимо либо навтыкать кучу кода по подготовке данных в основной скрипт, либо создавать промежуточный уровень между основным скриптом и шаблонизатором.
Все это - дополнительное усложнение. При отображении сложных страниц, шаблонизаторы типа str_replace бессильны и огромные куски кода по работе с данными висят в скрипте. Например делал я когда-то большую многостраничную, многораздельную анкету. Скрипту необходимо получить названия полей ввода, значения и группы, в которых объединены поля. При использовании "умного" шаблонизатора, работа скрипта заключалась в выборке. При использовании простого - вся эта мишура по компоновке полей была в скрипте. При чем для разных разделов одна и та же мишура. Только с разными данными.

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


Эксперт
***


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

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



flashaa, именно это XSLT ))
PM MAIL WWW ICQ Skype   Вверх
flashaa
Дата 25.2.2008, 19:41 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(awers @  25.2.2008,  19:38 Найти цитируемый пост)
flashaa, именно это XSLT )) 

Да, с ОЧЕНЬ сложными страницами не справится.

Я ж писал, что шаблонизатор выбирается в зависимости от задачи. В одном месте у меня есть сотрудничество с Перлом. Там используется XSLT-шаблоны. Для единообразия. К тому же там сайты не нуждаются в быстродействии. В остальных местах использую PHP.

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


Эксперт
****


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

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



Цитата(flashaa @  25.2.2008,  19:44 Найти цитируемый пост)
Ага. XML писать негуманно. А все остальное гуманно? Пусть ООН запретит вообще что-либо писать. И будет нирвана.

XML это машинный формат по сути, и зачем его использовать там, где можно без него обойтись? Классический шаблонизатор удобнее из-за своей простоты. А как показывает практика, для дизайнера/верстальщика чем проще шаблонный язык тем лучше и продуктивнее его работа и работа коллектива. И он не отвлекает программиста и-за того что какие-то замуты из XSLT ему не понятны. Да и читается, и сопровождаются императивный код шаблонизатора лучше.
PM MAIL WWW   Вверх
awers
Дата 25.2.2008, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Daevaorn @ 25.2.2008,  19:49)
Цитата(flashaa @  25.2.2008,  19:44 Найти цитируемый пост)
Ага. XML писать негуманно. А все остальное гуманно? Пусть ООН запретит вообще что-либо писать. И будет нирвана.

XML это машинный формат по сути, и зачем его использовать там, где можно без него обойтись? Классический шаблонизатор удобнее из-за своей простоты. А как показывает практика, для дизайнера/верстальщика чем проще шаблонный язык тем лучше и продуктивнее его работа и работа коллектива. И он не отвлекает программиста и-за того что какие-то замуты из XSLT ему не понятны. Да и читается, и сопровождаются императивный код шаблонизатора лучше.

Машинный формат это 00101011 ... 
Или ты HTML и иже с ним тоже считаешь нашинным форматом? 
PM MAIL WWW ICQ Skype   Вверх
CyClon
Дата 25.2.2008, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Я не противник XML, я просто его слишком слабо знаю. Однако рекомендую всем почитать ну это только твоя предирчивость к словам ) не более того , может кого-то и направит на путь истинный smile


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


Опытный
**


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

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



Цитата(Daevaorn @  25.2.2008,  19:49 Найти цитируемый пост)
XML это машинный формат по сути, и зачем его использовать там, где можно без него обойтись? Классический шаблонизатор удобнее из-за своей простоты.

Со сложностью XSLT согласен. Точнее не сложен он, а непривычен просто.
По поводу "зачем использовать, если можно обойтись" - абсолютно такой же вопрос к кастомным шаблонизаторам типа смарти - зачем их использовать, если можно обойтись PHP.

Цитата(Daevaorn @  25.2.2008,  19:49 Найти цитируемый пост)
А как показывает практика, для дизайнера/верстальщика чем проще шаблонный язык тем лучше и продуктивнее его работа и работа коллектива.

Вот только как связаны работа дизайнера/верстальщика и работа остального коллектива? Обычно программирование идет параллельно с разработкой дизайна. Затем дизайн и шаблоны из "программерской" версии сайта скидываются верстальщику. Верстальщик работает, а остальные переходят к новому проекту. И зачем всем ждать верстальщика - непонятно.
Цитата(Daevaorn @  25.2.2008,  19:49 Найти цитируемый пост)
И он не отвлекает программиста и-за того что какие-то замуты из XSLT ему не понятны.

Если читать мои предыдущие посты, то станет понятно, что если не заставлять дизайнера писать самому XSLT-шаблон с нуля, то его задача состоит в разборе стуктуры HTML-кода и замене старого HTML на новый. При этом он не трогает управляющие структуры, т.к. они связаны с логикой, а не с дизайном. Если меняется логика отображения сайта, то тут уже должен участвовать программист. Если в одном месте был список, то он не может с бухты барахты по воле одного верстальщика превратиться в таблицу. Вообще работа верстальщика - править HTML. И более ничего.

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


Эксперт
****


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

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



Цитата(flashaa @  25.2.2008,  23:09 Найти цитируемый пост)
Вот только как связаны работа дизайнера и работа остального коллектива? Обычно программирование идет параллельно с разработкой дизайна. Затем дизайн и шаблоны из "программерской" версии сайта скидываются верстальщику. Дальше программер занимается новым проектом. И зачем всем ждать дизайнера - непонятно.

к словами придираешься?smile Я лишь имел ввиду что это может быть как один человек, так и несколько.
Цитата(flashaa @  25.2.2008,  23:09 Найти цитируемый пост)
Если читать мои предыдущие посты, то станет понятно, что если не заставлять дизайнера писать самому XSLT-шаблон с нуля, то его задача состоит в разборе стуктуры HTML-кода и замене старого HTML на новый. При этом он не трогает управляющие структуры, т.к. они связаны с логикой, а не с дизайном. Если меняется логика отображения сайта, то тут уже должен участвовать программист. 

И зачем?
Я в шаблон передаю контекст данных, а тот кто пишет шаблоны эти данные интерпретирует так как ему надо, абсолютно меня не трогая. Он лишь иногда говорит, что тут мне нужна ещё эта информация, а тут другая. А чем сложнее шаблонный язык, тем чаще не-программист будут к программисту обращаться.
Ну и потом, продолжаю настаивать на том, что xml слишком verbose и не для человека по сути. 
PM MAIL WWW   Вверх
awers
Дата 25.2.2008, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Daevaorn, еще раз переспрошу, ты считаешь HTML тоже слишком многословным и не для людей?
А C++ разве можно назвать языком для людей? Он вообще не в какие рамки по сравнению с XML
PM MAIL WWW ICQ Skype   Вверх
solenko
Дата 27.2.2008, 13:51 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 34
Всего: 67



Начнем с того, что я сторонник использования php по прямому его назначению -- как шаблонизатора. И он прекрастно позволяет отделить логику от отображения.

Далее... Как факторы против такого подхода из этой темы:
1. Верстальщики не знают php.
2. Религия не позволяет

Как предлагаемые альтернативы:
1. Свой шаблонизатор
2. Распространенный шаблонизатор
3. XML+XSLT

Теперь давайте посмотрим на первый пункт для всех альтернатив:
1, 2 -- а что, тут своего языка не будет? Еще не видел ни одного шаблонизатора без встроенных условий, циклов и т.п.
3 - 
Цитата

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

все уже сказано до нас. намного сложнее чем базовый синтаксис php.

Второй пункт и рассматривать не стоит -- против религии не попреш.

Если есть еще доводы против использования php как шаблонизатора, то, пожалуйсто, приведите. Если нет, то все таки сводится к религии.

P.S. Да, я прочитал тему целиком.

Это сообщение отредактировал(а) solenko - 27.2.2008, 18:49


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
Daevaorn
Дата 27.2.2008, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(solenko @  27.2.2008,  14:51 Найти цитируемый пост)
1. Верстальщики знают php.

Не все. Плюс php избыточен по сути для шаблонизатора. Можно ненароком что-то попортить. Шаблонизатор - как часть защиты от дурака.
Цитата(solenko @  27.2.2008,  14:51 Найти цитируемый пост)
Если есть еще доводы против использования php как шаблонизатора, то, пожалуйсто, приведите. Если нет, то все таки сводится к религии.

Всё можно свести к "религии". Разве не религия писать сайты на php, а не на ассемблере например?
PM MAIL WWW   Вверх
solenko
Дата 27.2.2008, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 34
Всего: 67



Daevaorn, "Верстальщики не знают php" -- должно было быть так. Опечаталя.
Цитата

Плюс php избыточен по сути для шаблонизатора. Можно ненароком что-то попортить. Шаблонизатор - как часть защиты от дурака.

Что вы подразумеваете под "попортить"? Удалить файлы, дропнуть базу? Ну тогда такому дураку и к svn доступ давать нельзя.

Цитата

Всё можно свести к "религии". Разве не религия писать сайты на php, а не на ассемблере например?

Не религия, т.к. есть измеримый параметр -- время написания (есть и другие, но этот самый очевидный).
А вот писать на php или ASP -- это уже религия )


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
Daevaorn
Дата 27.2.2008, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(solenko @  27.2.2008,  19:56 Найти цитируемый пост)

Что вы подразумеваете под "попортить"? Удалить файлы, дропнуть базу? Ну тогда такому дураку и к svn доступ давать нельзя.

Имею ввиду именно пхп. Т.е. позвать(случайно) какую-нибудь функцию с не очевидным side-effect, который повлияет на дальнейшую работу; присвоить какой-то переменной что-то чего в ней не должно быть и т.д. Поскольку пхп шаблонизатор живет в том же окружении что и логика, то отсюда могут появиться всякие неприятности. А вот отдельный хороший движок шаблонизации позволяет только получить доступ туда, куда указал программист и не более.
Цитата(solenko @  27.2.2008,  19:56 Найти цитируемый пост)
Не религия, т.к. есть измеримый параметр -- время написания (есть и другие, но этот самый очевидный).
А вот писать на php или ASP -- это уже религия ) 

Ха!smile Так время написания от языка (кстати, asp не язык, так что его сравнивать с php не очень корректно, если не рассматривать сам php как платформу) в приделах одной прикладной области, зависит тоже не слабо. Взять те-же ruby и python. Так что время не параметр "религиозности":)
PM MAIL WWW   Вверх
solenko
Дата 27.2.2008, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 34
Всего: 67



Цитата

Т.е. позвать(случайно) какую-нибудь функцию с не очевидным side-effect, который повлияет на дальнейшую работу; присвоить какой-то переменной что-то чего в ней не должно быть и т.д. Поскольку пхп шаблонизатор живет в том же окружении что и логика, то отсюда могут появиться всякие неприятности. А вот отдельный хороший движок шаблонизации позволяет только получить доступ туда, куда указал программист и не более.

Вызвать функцию... Пожалуй прийдется согласиться. Можно, хоть и маловероятно. Опять же, обычно функции упакованы по неймспейсам. 
По поводу переменных -- в шаблоне работаем с глобальныйми переменными (они становятся глобальными при передаче управления в шаблон), все остальное вне глобального пространства.

Цитата

Ха! Так время написания от языка (кстати, asp не язык, так что его сравнивать с php не очень корректно, если не рассматривать сам php как платформу) в приделах одной прикладной области, зависит тоже не слабо. Взять те-же ruby и python. Так что время не параметр "религиозности":)

Вы хотите сравнить разницу во времени написания сайта на РHP/ASP/Python и ASM? ))
А если серьезно, то естественно, у каждого языка/технологии своя предметная область. У ASP и PHP они одинаковы, потому я и говрю, что выбор между ними -- впрос религии. Точно так же вы можно устроить холивар на сравнении, например, dBase, ForPro и Paradox -- тоже вопрос религии.


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
SamDark
Дата 27.2.2008, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


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

Репутация: 10
Всего: 38



Странно. Вы даёте верстальщику делать что-то кроме разметки (html+css)?

Я беру кучу статичных страниц, сделанных верстальщиком и перегоняю всё на шаблонный язык, будь то Smarty, XSL, php или ещё что.

Верстальщик в данном случае не заморачивается с шаблонами вообще и не вносит хаос в приложение (особенно, если он не может изучить азы программирования). Получается быстро и безопасно.


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
Страницы: (13) Все « Первая ... 9 10 [11] 12 13 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

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

Важно:

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

Внимание:

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

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

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


 




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


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

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