![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
||
|
dm9 |
|
|||
![]() Дмитрий Копытин ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 3876 Регистрация: 22.7.2002 Где: Москва Репутация: 2 Всего: 137 |
Добрый день.
У нас возник вопрос по поводу использования шаблонизатора в PHP-проекте. Проект достаточно длительный; учитывать необходимо также и то, что проект будет OpenSource, и в нашей разработке придётся разбираться сторонним разработчикам, вне команды. Мы рассматриваем два варианта. Первый — XSLT (модули/модели, соответственно, пишут данные в DOM). Альтернатива — смарти-подобный шаблонизатор, который получает на вход какой-то массив или объект (или набор массивов/объектов), и затем с этими данными что-то делает (вывод переменных, проверка условий, циклы, подшаблоны). Преимущества XSLT, как мне кажется, — открытость стандарта, то есть верстальщики этот язык уже знают (сколько их, которые знают?), поддержка редакторами (Code insight, подсветка синтаксиса). Преимущества более традиционного шаблонизтора — привычность для верстальщика (?), бо́льшая простота, то есть меньший порог входа. Цель данного опроса — посмотреть, а действительно ли так мало людей знают и используют XSLT, как нам кажется? Ну и если будут какие-то ещё замечания по теме, высказывайтесь… Вопрос, в общем-то, не совсем по PHP, но всё же хочется провести опрос среди местных обитателей. Мне кажется, это относится не к вёрстке. |
|||
|
||||
xolod |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 148 Регистрация: 24.5.2005 Где: Когда: Что: Репутация: 4 Всего: 13 |
Начинать что-то с нуля только на XSLT. Это 100% радости. Остальное умрет рано или поздно.
Это сообщение отредактировал(а) xolod - 28.5.2007, 12:00 |
|||
|
||||
Replicator |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 30.4.2006 Где: Outer Heaven Репутация: нет Всего: нет |
Когда мне понадобилось, XSL освоил за пол-дня. Так что используй XSLT и не парься - работать с ним очень легко.
--------------------
|
|||
|
||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: нет Всего: 40 |
Как знать, а я довольно неплохо наловчился работать с PHP. Пробовал поработать со Смарти, но сразу немило сердцу стало. Всяких лишних действий куча, а в итоге получается тот-же php код. Так зачем делать надстройку? Лучше сразу правильно писать нормально на PHP.
Другой вопрос насчет XSLT, что-то все о нем отзываются дружелюбно. Надо тоже посмотреть в его сторону, может действительно он такой уникальный, и может действительно это решение, но если он требует доп ресурсов... то ф топку. |
|||
|
||||
vasac |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: 8 Всего: 36 |
Смотря для чего шаблонизатор. ИМХО, в общем плане smarty перед чистым PHP (если уметь им пользоваться) вообще ничто и нигде. Другое дело, что главный аргумент смартовцев, это то, что люди ничего не смыслящие в PHP могут с легкостью работать со смарти. Я так и не понял за счет чего, но это уже другой разговор. Если ориентироваться именно на технически не подкованных людей, то XSLT вообще тут не в тему.
|
|||
|
||||
Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: 6 Всего: 22 |
сделайте сразу беспроигрышный такой вариант:
есть абстрактный класс-прослойка, шаблонизатор который уже может, в зависимости от используемой темы (theme, skin) использовать свой драйвер: в частности XSLT, Smarty или любой другой. |
|||
|
||||
dm9 |
|
|||
![]() Дмитрий Копытин ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 3876 Регистрация: 22.7.2002 Где: Москва Репутация: 2 Всего: 137 |
Vaulter, не согласен.
А) Это надо поддерживать одной команде верстальщиков, и UI у системы должен быть един. То есть два раза (один под XSLT, один под Смарти) реализовывать механизм, скажем, работы с тэгами (это большой механизм, и он будет в разных частях системы) — это бээ. Б) Это потом ещё поддерживать сообществу. Человек с ума сойдёт, переключаться между вариантами шаблонизации. Добавлено через 3 минуты Кроме того, это подвязка на принципы работы модулей. Либо они генерируют XML, либо объекты/массивы. Если в одном месте будет так, в другом так — это сойти с ума. Если будем использовать XML, логично сразу делать выборки DB->XML почти напрямую. То есть получается, что механизм генерации данных Моделью зависит отмеханизма реализации View. |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
Я выбрал 3ий вариант. Заставлять людей писать вручную xml это не гуманно
![]() |
|||
|
||||
Rock |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 264 Регистрация: 13.1.2005 Где: Краснодар Репутация: 0 Всего: 1 |
XSLT очень мощная и удобная штука, в своих проектах только его и использую, позволяет не только реализовать MVC, но и выдавать 100% валидный xhtml, что немаловажно. Ко всему прочему, в системе, построенной на связке XSLT+XML проще использовать Ajax технологию.
со с Smarty работал, штука тоже удобная, да и шаблоны написанные на чистом php не хуже. Конечно же, писал свой шаблонизатор, но это было изобретение велосипеда, с целью повышения квалификации, не больше... Вообщем мой выбор XSLT. |
|||
|
||||
mclight |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 6.7.2005 Где: Baku, Azerbaijan Репутация: 1 Всего: 2 |
а где можно подучить документацию насчет XSLT-шаблонизатора
--------------------
Как я решал подводные камни Cakephp и не только |
|||
|
||||
Golda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 26.3.2007 Где: Ариель, Израиль Репутация: 20 Всего: 42 |
XSLT - не совсем шаблонизатор. В php эту технологию еще надо привязывать отдельно. А хорошие ресурсы:
http://www.zvon.org/xxl/XSLTutorial/Output/contents.html - тьюториал Ну а самые правильные справочники - здесь http://www.w3.org/Style/XSL/ ![]() -------------------- "For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics |
|||
|
||||
WIPS |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 22.5.2006 Где: Украина, Киев Репутация: 1 Всего: 8 |
Я тоже так считаю, хотя знаком с XSLT мало. А по поводу "классических" шаблонизаторов, неужели никто ничего кроме смарти не использует?! На мой взгляд он сильно громоздкий, да и вобще идея активного шаблона мне не нравится. Я напр. использую PEAR-овский IT_Template. Если сильно не привязываться к "Х" а аббревиатуре "AJAX", то AJAX - это не всегда XML ![]() --------------------
Автопроизводители, машины, марки, модели! |
|||
|
||||
teroni |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 15.5.2007 Где: Днепропетровск Репутация: 8 Всего: 22 |
|
|||
|
||||
mclight |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 6.7.2005 Где: Baku, Azerbaijan Репутация: 1 Всего: 2 |
а мультиязычность тоже суда относится?
стоит ли использовать шаблонизатор, если мне только мультиязычность нужна? Это сообщение отредактировал(а) mclight - 5.6.2007, 14:52 --------------------
Как я решал подводные камни Cakephp и не только |
|||
|
||||
Golda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 26.3.2007 Где: Ариель, Израиль Репутация: 20 Всего: 42 |
Мультиязычность удобно реализовывать с помощью XSL. Готовите один XSL-шаблон и процесите им разные XML. Для каждого языка свой XML
-------------------- "For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |