![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk Страницы: (13) Все « Первая ... 7 8 [9] 10 11 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]()
|
|
| CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: 3 Всего: 4 |
Нерациональность в данном случае - это то, что шаблонизатор будет пожирать больше всех ресурсов, чем остальные модули сайта. Там используются регурарыные выражения, которые сами по себе прожорливы, к тому же их много. Особенно в сложных шаблонах. Да и тот же кэш или компилятор написать труда не составит |
|||
|
||||
| GeneralElectric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
ну-ну. в шаблоне у нас уже откуда-то взялись регулярные выражения. и он пожрал все ресурсы.
просто фильм ужасов. интересно, что среди всех любителей порассуждать о производительности почему-то не встречается людей, действительно разрабатывавших серьёзно нагруженные приложения. Это сообщение отредактировал(а) GeneralElectric - 23.2.2008, 17:36 |
|||
|
||||
| CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: 3 Всего: 4 |
Имелось ввиду что в шаблонизаторе используются регулярные выражения и в сложных шаблонах слишком часто происходит их вызов (много блоков / переменных и т.п.). Так ясно?
|
|||
|
||||
| CyClon |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: 3 Всего: 4 |
Немного переписал, сделал, чтоли, "более абстрактным" xD Тем, кто искал простейший шаблонизатор, ловите...
Шаблон (templates/lite/main.html)
Шаблонизатор (kernel/classes/Template.class.php)
Использование (index.php)
Результат
|
||||||||
|
|||||||||
| awers |
|
||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
ну чем же вам XML/XSL не угодили то? ведь все проще чем вы тут расписываете. могу дать код шаблонного движка который делал сравнительно недавно. Тут и блоки данных и динамическая подгрузка частей шаблонов. Тестовая версия..
modules/mod_templates.php
index.php
templates/elem/awers.xslt
templates/modules/common.xslt
|
||||||||
|
|||||||||
| GeneralElectric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
XML/XSL не угодили тем, что в них лежит китайская лапша - html перемешан с кодом, в большинстве случаев XSL кода больше, чем HTML. Как следствие, требуется отдельный программист на проект. Яндекс может себе это позволить. Другие обходятся решениями более гибкими.
|
|||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
А как же генерация самих блоков? Или там все по взмаху волшебной палочки? Или пхп программист стоит дешевле чем HTML верстальщик со знанием XSL?
|
|||
|
||||
| GeneralElectric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
Видимо, дешевле =)
Вообще, популярнос шаблонов-лапши, таких, как XSLt или Смарти, сравнима с популярностью шлочных шаблонов. Так что я не возьмусь судить ,какой подход лучше, а какой хуже. Видимо, у всех есть свои положительные стороны. Другое дело, что XSLT, как верно было замечено, вносит дополнительное усложнение в среду разработки ,и не всегда это выгодно |
|||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
Мой последний заказчик - дизайнер. Он меня чуть не расцеловал когда я ему показал знакомые, почти ХТМЛ исходники. Теперь сам вкуривает что как и жутко доволен. Если человек чайник - ему и с <!-- BEGIN blocks-left --> не справится. А XSLT дает явные приемущества, как по контролю ошибок в "десигн тайм" так и в "ран тайм".
|
|||
|
||||
| GeneralElectric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
Ну, возможно, ты и прав - все дело в субьективных ощущениях конкретных людей. кому-то нравится обилие кода в шаблоне, кому-то - нет.
правда, следует отметить, что прошлый проект "знакомых, почти ХТМЛ исходников" - ColdFusion - тихо скончался в нищете и забвении. По поводу же явных приемуществ по контролю ошибок я с удовольствием выслушаю конкретные факты. Думаю, остальным тоже будет интересно |
|||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
я только начал вырабатывать концепцию, но смысл следующий: необходимо введение своего пространства имен, на нем собирать логику. это будет кратно быстрее смарти. над кешами я даже не начинал думать. вполне возможно что в Винград ЦМС войдет уже доработанная версия
|
|||
|
||||
| GeneralElectric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
Я тут решил машину собрать. Трехколесную. У трехколесных устойчивость выше. Конкретные факты - я пока ещё не думал, но собираюсь поркасить в зеленый цвет - должна получиться быстрее формулы 1.
Все ясно. |
|||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
Ты посмотрел мой пример?
|
|||
|
||||
| CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: 3 Всего: 4 |
awers, заинтриговал конечно, но все-равно мой вариант более простой для верстальщика.
Мне понравилось XSLT в твоем примере, гибко так. Но пока остановлюсь на своем варианте, ибо вообще с XML не дружу и не понимаю его смысл, как когда-то ООП ЗЫ: Результат обрабоки тех двух шаблонов какой будет? Добавлено через 2 минуты и 25 секунд P.S. Может даст кто ссылочку, где можно побольше почитать о взаимодействии XML/XSLT с PHP? |
|||
|
||||
| GeneralElectric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
Э, нет. Так не пойдет.
Вы, ребятки, не тестовыми шаблонами меряйтесь, а боевыми. Какой результат тех двух шаблонов - это и так ясно: такая же тестовая рыба. А нарисуйте-ка, оба, вывод строки навигации, вот, хотя бы, как в этом форуме: « Первая ... 3 4 [5] 6 7 ... Последняя » Вот и посмотрим, чего на самом деле стоят оба подхода =) |
|||
|
||||
![]()
|
| Правила форума "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. |