![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
Есть шаблонный движок, XML+XSLT.
Суть заключается что документ разбит на Коллекции, в которых есть данные. Все методы класса абстрагируют DOM, который является недрами движка. Как вы считаете, стоит ли переделать все на массивы. Давайте подойдем к этому не только с точки зрения скорости (что немаловажно, но всеже), а с точки зрения удобности (к примеру в процессе работы со своим движком я могу применять XPath, а с массивами я уже лишусь этой возможности) Вот один из билдов
Это сообщение отредактировал(а) awers - 25.3.2008, 18:47 |
|||
|
||||
| flashaa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
awers, а пример работы можно?
|
|||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
flashaa, самый простой или с использованием всего функционала?
|
|||
|
||||
| mishaSL |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 19 Всего: 54 |
awers, не много не понял. А зачем вам переделывать все на массивы? Какой из этого смысл?
Пример работы с использованием того функционала, который вас не устраивает, если вы хотите его переделать... -------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
|||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
mishaSL, просто задумался о нагрузке и необоснованных затратах на работу с DOM. В этом собственно и вопрос.
А что в целом скажите? Такой шаблонный движек имеет право на жизнь? Предусмотрел все, начиная от авто-инклюда шаблонов (xsl-include сам прописывается в шаблон), до CSS инклюда |
|||
|
||||
| Smith |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 17.1.2007 Репутация: 1 Всего: 2 |
если думать о быстродействии, то брать за шаблонизатор РНР)
Это сообщение отредактировал(а) Smith - 25.3.2008, 20:48 |
|||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
Smith, а ты посмотри на это с точки зрения безопасности и рациональности. Дизайнер со знанием пхп - раз, давать недры пхп в руки дизайнера - увольте
|
|||
|
||||
| flashaa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
awers, такой примерый, который бы подчеркнул особенности шаблонизатора, можно опустить общие для шаблонизаторов ньюансы. Просто хочется вникнуть, но нет времени вчитываться долго в код.
Это сообщение отредактировал(а) flashaa - 26.3.2008, 11:59 |
|||
|
||||
| mishaSL |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 19 Всего: 54 |
ИМХО, вариант с XML+XSL мне нравится, да и быстодействие от этого не сильно страдает, если кеширование сделать нормально. -------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
|||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
mishaSL, есть какие-то мысли/идеи по кешированию? буду благодарен )
|
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
На мой взгляд:
1. XSLT vs Smarty, PTemplate and etc Схема XML+XSLT более трудна для понимания, строга и требовательна к ресурсам. Тем не менее, если мы стремимся к идеологии разделения логики, данных и представления (взять тот же MVC), хотим оградить/обезопасить или просто унифицировать систему - мы берем за основу XML и XSLT. Тем более, что уже давным-давно вопрос распределения нагрузки не стоит в тупике и производители железа предоставляют каждый день что-то новое и более производительное (нет на денег/ресурсов? - проект не удался). Smarty, как шаблонный (или компонентный, как некоторые используют) движок, лично мне не нравится, ввиду своей громоздкости и устарелости. Для небольших и средних проектов - да, это то что нужно; для простоты и удобства (на первый взгляд) написания, когда нет времени разбираться в технологиях, искать решения, думать и строить собственную архитекуру, мы берем простой и универсальный Smarty. Мы его берем, потому что он зарекомендовал себя на этом поприще. Есть и другие шаблонизаторы. Есть написанный собственноручно. Но все это не идет в сравнение с гигантом Smarty и утвержденным W3C концорциумом стандартом XSLT, который применяется в производственных масштабах и все больше привлекает Web-разработчиков (это можно было бы сказать лет пять назад). Вот так. Больше и сказать-то нечего. Есть еще вариант. PlainPHPView. Говорить о нем не буду, по названию все понятно. 2. Кеширование. Понятное дело, что, многие шаблонизаторы позволяют кеширование на уровне файловой системы (в т.ч. Smarty). Но как организовать кеширование в схеме XML+XSLT? Я так же когда-то задумывался над этим вопросом. Были мысли сохранять отдельные ветви с данными в разных файлах, после собирать узлы из них. Были варианты использовании базы для их хранения. Было еще много каких мыслей; детский сад, одним словом. Самым простым ответом на этот вопрос является Memcache. Ведь незачем изобретать велосипед, верно? Можно вопсользоваться мудростью и опытом разработчиков livejournal. Возможно многие слышали, а кто-то его уже давно использует. Кто-то эффективно, кто-то не очень. Вот его я и предлагаю использовать. Кеширование на уровне данных модели в самой логике. Спасибо за внимание. Это сообщение отредактировал(а) IZ@TOP - 26.3.2008, 17:48 -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
IZ@TOP, большое спасибо.
Смарти мне жутко не нравится, значит буду копать в сторону memcache |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
awers, если не планируется масштабирование системы, разнделение по серверам, можно и XCache заюзать.
Это сообщение отредактировал(а) IZ@TOP - 27.3.2008, 13:43 -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
IZ@TOP, посмотрел. Но таких нагрузок нет, что бы пришлось ставить такой кешер. Куда проще memcache
|
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
awers, XCache как раз попроще будет (и чуть быстрее). Memcache куда более интересен в ситуации, когда у тебя распределенная система. К примеру - прокси-балансер, который распределяет нагрузку на несколько серверов frontend/backend.
Это сообщение отредактировал(а) IZ@TOP - 27.3.2008, 13:46 -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Хоббит |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1263 Регистрация: 6.11.2005 Репутация: 1 Всего: 1 |
awers про какую систему вы говорите, не про flux cms или bitflux как ее называют еще. Если да, то на многие вопросы по работе с ней могу дать совет.
Эта Cms тоже построена на принципе xml + xslt. Работаю с ней уже долгое время. Нарицаний к производительности мало (кстати большая часть в таких движках уходит на работу с dom (но ее опять можно оптимизировать), на xsl преобразование уходит совсем мало времени.. около 1% всей работы cms (php5)), хотя модель кэширования пришлось реализовывать свою. |
|||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
Хоббит, нет ) я пишу собственную cms
|
|||
|
||||
| Хоббит |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1263 Регистрация: 6.11.2005 Репутация: 1 Всего: 1 |
Может зря?
Посморти на flux, архитектура там хорошая. |
|||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
Хоббит, ом. Сейчас втыкаю в Zend Framework полным ходом. У меня с ними очень схожее мышление, поэтому думаю останусь пока так )
|
|||
|
||||
![]()
|
| Правила форума "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. |