![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
flashaa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Пусть приемлимо в плане производительности. Мне сам подход не нравится. Я писал так же и другие недостатки.
К тому же не люблю я шаблоны, которые занимаются заменой одних букв на другие. Мое убеждение - если мы собрали данные, которых достаточно для для вывода страницы, то их необходимо передавать шаблонизатору. А он уже с этими данными разбирается. В основном скрипте должна быть по максимуму логика, и меньше рутины. В частности, меньше рутины по отображению. Если не оставлять логики в шаблонизаторе, то необходимо либо навтыкать кучу кода по подготовке данных в основной скрипт, либо создавать промежуточный уровень между основным скриптом и шаблонизатором. Все это - дополнительное усложнение. При отображении сложных страниц, шаблонизаторы типа str_replace бессильны и огромные куски кода по работе с данными висят в скрипте. Например делал я когда-то большую многостраничную, многораздельную анкету. Скрипту необходимо получить названия полей ввода, значения и группы, в которых объединены поля. При использовании "умного" шаблонизатора, работа скрипта заключалась в выборке. При использовании простого - вся эта мишура по компоновке полей была в скрипте. При чем для разных разделов одна и та же мишура. Только с разными данными. Это сообщение отредактировал(а) flashaa - 25.2.2008, 19:41 |
|||
|
||||
awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
flashaa, именно это XSLT ))
|
|||
|
||||
flashaa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Да, с ОЧЕНЬ сложными страницами не справится. Я ж писал, что шаблонизатор выбирается в зависимости от задачи. В одном месте у меня есть сотрудничество с Перлом. Там используется XSLT-шаблоны. Для единообразия. К тому же там сайты не нуждаются в быстродействии. В остальных местах использую PHP. Это сообщение отредактировал(а) flashaa - 25.2.2008, 19:43 |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
XML это машинный формат по сути, и зачем его использовать там, где можно без него обойтись? Классический шаблонизатор удобнее из-за своей простоты. А как показывает практика, для дизайнера/верстальщика чем проще шаблонный язык тем лучше и продуктивнее его работа и работа коллектива. И он не отвлекает программиста и-за того что какие-то замуты из XSLT ему не понятны. Да и читается, и сопровождаются императивный код шаблонизатора лучше. |
|||
|
||||
awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
Машинный формат это 00101011 ... Или ты HTML и иже с ним тоже считаешь нашинным форматом? |
|||
|
||||
CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: 3 Всего: 4 |
Я не противник XML, я просто его слишком слабо знаю. Однако рекомендую всем почитать ну это только твоя предирчивость к словам ) не более того , может кого-то и направит на путь истинный
![]() |
|||
|
||||
flashaa |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Со сложностью XSLT согласен. Точнее не сложен он, а непривычен просто. По поводу "зачем использовать, если можно обойтись" - абсолютно такой же вопрос к кастомным шаблонизаторам типа смарти - зачем их использовать, если можно обойтись PHP.
Вот только как связаны работа дизайнера/верстальщика и работа остального коллектива? Обычно программирование идет параллельно с разработкой дизайна. Затем дизайн и шаблоны из "программерской" версии сайта скидываются верстальщику. Верстальщик работает, а остальные переходят к новому проекту. И зачем всем ждать верстальщика - непонятно.
Если читать мои предыдущие посты, то станет понятно, что если не заставлять дизайнера писать самому XSLT-шаблон с нуля, то его задача состоит в разборе стуктуры HTML-кода и замене старого HTML на новый. При этом он не трогает управляющие структуры, т.к. они связаны с логикой, а не с дизайном. Если меняется логика отображения сайта, то тут уже должен участвовать программист. Если в одном месте был список, то он не может с бухты барахты по воле одного верстальщика превратиться в таблицу. Вообще работа верстальщика - править HTML. И более ничего. Это сообщение отредактировал(а) flashaa - 26.2.2008, 13:02 |
||||||
|
|||||||
Daevaorn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
к словами придираешься? ![]()
И зачем? Я в шаблон передаю контекст данных, а тот кто пишет шаблоны эти данные интерпретирует так как ему надо, абсолютно меня не трогая. Он лишь иногда говорит, что тут мне нужна ещё эта информация, а тут другая. А чем сложнее шаблонный язык, тем чаще не-программист будут к программисту обращаться. Ну и потом, продолжаю настаивать на том, что xml слишком verbose и не для человека по сути. |
||||
|
|||||
awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
Daevaorn, еще раз переспрошу, ты считаешь HTML тоже слишком многословным и не для людей?
А C++ разве можно назвать языком для людей? Он вообще не в какие рамки по сравнению с XML |
|||
|
||||
solenko |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 34 Всего: 67 |
Начнем с того, что я сторонник использования php по прямому его назначению -- как шаблонизатора. И он прекрастно позволяет отделить логику от отображения.
Далее... Как факторы против такого подхода из этой темы: 1. Верстальщики не знают php. 2. Религия не позволяет Как предлагаемые альтернативы: 1. Свой шаблонизатор 2. Распространенный шаблонизатор 3. XML+XSLT Теперь давайте посмотрим на первый пункт для всех альтернатив: 1, 2 -- а что, тут своего языка не будет? Еще не видел ни одного шаблонизатора без встроенных условий, циклов и т.п. 3 -
все уже сказано до нас. намного сложнее чем базовый синтаксис php. Второй пункт и рассматривать не стоит -- против религии не попреш. Если есть еще доводы против использования php как шаблонизатора, то, пожалуйсто, приведите. Если нет, то все таки сводится к религии. P.S. Да, я прочитал тему целиком. Это сообщение отредактировал(а) solenko - 27.2.2008, 18:49 -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
Не все. Плюс php избыточен по сути для шаблонизатора. Можно ненароком что-то попортить. Шаблонизатор - как часть защиты от дурака.
Всё можно свести к "религии". Разве не религия писать сайты на php, а не на ассемблере например? |
|||
|
||||
solenko |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 34 Всего: 67 |
Daevaorn, "Верстальщики не знают php" -- должно было быть так. Опечаталя.
Что вы подразумеваете под "попортить"? Удалить файлы, дропнуть базу? Ну тогда такому дураку и к svn доступ давать нельзя.
Не религия, т.к. есть измеримый параметр -- время написания (есть и другие, но этот самый очевидный). А вот писать на php или ASP -- это уже религия ) -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
||||
|
|||||
Daevaorn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
Имею ввиду именно пхп. Т.е. позвать(случайно) какую-нибудь функцию с не очевидным side-effect, который повлияет на дальнейшую работу; присвоить какой-то переменной что-то чего в ней не должно быть и т.д. Поскольку пхп шаблонизатор живет в том же окружении что и логика, то отсюда могут появиться всякие неприятности. А вот отдельный хороший движок шаблонизации позволяет только получить доступ туда, куда указал программист и не более.
Ха! ![]() |
||||
|
|||||
solenko |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 34 Всего: 67 |
Вызвать функцию... Пожалуй прийдется согласиться. Можно, хоть и маловероятно. Опять же, обычно функции упакованы по неймспейсам. По поводу переменных -- в шаблоне работаем с глобальныйми переменными (они становятся глобальными при передаче управления в шаблон), все остальное вне глобального пространства.
Вы хотите сравнить разницу во времени написания сайта на РHP/ASP/Python и ASM? )) А если серьезно, то естественно, у каждого языка/технологии своя предметная область. У ASP и PHP они одинаковы, потому я и говрю, что выбор между ними -- впрос религии. Точно так же вы можно устроить холивар на сравнении, например, dBase, ForPro и Paradox -- тоже вопрос религии. -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
||||
|
|||||
SamDark |
|
|||
![]() Добрый кот ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1424 Регистрация: 25.7.2006 Где: Voronezh Репутация: 10 Всего: 38 |
Странно. Вы даёте верстальщику делать что-то кроме разметки (html+css)?
Я беру кучу статичных страниц, сделанных верстальщиком и перегоняю всё на шаблонный язык, будь то Smarty, XSL, php или ещё что. Верстальщик в данном случае не заморачивается с шаблонами вообще и не вносит хаос в приложение (особенно, если он не может изучить азы программирования). Получается быстро и безопасно. -------------------- rmcreative.ru — Это жжж неспроста... yiiframework.ru — О фреймворке Yii на русском. reggi — здесь я регистрирую домены |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |