Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Итак, я решил возобновить разработку Vingrad CMS 
:(
    Опции темы
Wowa
Дата 4.9.2006, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

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



Цитата(IZ@TOP @  4.9.2006,  15:57 Найти цитируемый пост)
Генерируя XML на лету мы всю логику зашиваем в РНР и не привязаны ни к каким шаблонам.

Т.е. ты предлагаешь прямо в коде программы выводить?
Код


$output.=<<<EOF
вывод XML
EOF;

....


$output.=<<<EOF
вывод XML
EOF;

PM WWW   Вверх
IZ@TOP
Дата 4.9.2006, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



Wowa, ну ты что))) Я же не настолько безумный!
У нас ведь есть DOM:
Код

$node = $xmldoc->createElement('nodename', 'nodevalue');
$node->setAttribute('attribute', 'attributevalue');
$xmldoc->firstChild->appendChild($node);

Вполне замечательный набор классов для работы с XML.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Wowa
Дата 4.9.2006, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

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



IZ@TOP, ну понятно. Просто ты предлагаешь генерировать XML прямо в коде программы? Через DOM или нет - не в этом суть..

Добавлено @ 18:13 
ок, тогда так будем делать. Я согласен.
PM WWW   Вверх
sergejzr
Дата 4.9.2006, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Цитата(IZ@TOP @  4.9.2006,  15:07 Найти цитируемый пост)
sergej.z, для этого по моему существуют встроенные средства? DOM например.

А скорость? Я слышал, что ДОМ - медленный.
Цитата(IZ@TOP @  4.9.2006,  16:57 Найти цитируемый пост)
Во первых возникнет много багов связанных с тем что нужно править и шаблоны и в коде где обрабатываются данные.

Если генерить ХМЛ, и не сильно извращаться, то шаблоны править много не придётся. 
Цитата(IZ@TOP @  4.9.2006,  16:57 Найти цитируемый пост)
Во вторых придется тратить дополнительное время на открытие файлов шаблонов и их парсинг.

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

Огромное преимущество в том, что грамотно составленный шаблон "как на ладони" в то время как ДОМ - ПХП код, который не так уж удобно читать и выяснять, как всё таки это будет потом выглядеть.

Вообще-то, Флекси был представлен для перевода форумского движка на ХМЛ потому, что он очень легко подойдёт к существующему. (ДОМ - это совсем другая логика). К тому же Флекси прекрасно ляжет на существующий скин. И можно будет его продолжать использовать для тех, кто не понимает ХМЛ. (Может Опик расскажет о скорость расширения для преобразования? Было бы очень интересно.)

Если же писать проект с нуля, то наверное имеет смысл сразу брать ДОМ. Хотя я бы всерьёз задумался над читабельностью кода. В подсветке синтаксиса на форуме Используется ДОМ для создания рамки. Должен сказать, что хотя генерятся в конечном итоге пара строк, код очень "тяжёлый" и весьма не просто там чтото поменять. Шаблоном это выглядело бы элегантнее и короче, но явяскрипт не предоставляет возможности. 


Короче говоря, я бы не стал утверждать, что ДОМ лучше Флекси. Это два разных подхода и преимущества и недостатки есть у обоих. Я бы даже сказал, что хотя как раз для таких штучек ДОМ вообще-то и задуман, Флекси в этом случае будет намного приятнее.
Как вариант - перед разработкой точно определить все классы для ДОМа, чтобы программирование стало как можно более декларативным. Возможно тогда читабельность повысится. В любом случае первые пять страниц я бы сделал и так, и так, чтобы можно было сравнить.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
IZ@TOP
Дата 5.9.2006, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



sergej.z, мне кажется что все же лучше логику создания XML'я доверить DOM'у. У меня никогда не случалось такого, чтобы что-то работало не так и я не получал ожидаемого результата при работе с DOM. в плане удобства использования мне он кажется просто идеальным.

Думаю что часть вывода модулей можно закешировать. Причем, как мне кажется, это вполне можно сделать на клиенте. По этому поводу вопрос: файлы подключенные XInclude можно ли закешировать на клиенте?

Ну и коль уж мы собрались использовать современные технологии - нужно придерживаться этой логики. А использование чего-либо из библиотеки PEAR, мне кажется некоторым извращением, хотя бы потому, что они до сих пор (насколько я слышал) не утруждают себя перепиской своих классов с поддержкой всех нововведений PHP 5.

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




--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
sergejzr
Дата 5.9.2006, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Ок, согласен smile
В таком случае было бы неплохо ДОМ - логику отделить от кода насколько это вожможно. Должно неплохо получиться.. smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
sergejzr
Дата 5.9.2006, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Хмм.. надо бы разобраться с XInclude, может опера понимает её..

Добавлено @ 12:47 
Кэшироваться кстати должно всё.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
IZ@TOP
Дата 5.9.2006, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



sergej.z, ну тогда все должно быть довольно просто. 
XInclude вообще отличная вещь! Если мы будем давать одну XML'ку, там будет несколько Xinclud'ов и при этом они будут закешированы браузером, мы будем просто в шоколаде!!!


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
sergejzr
Дата 5.9.2006, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Цитата(IZ@TOP @  5.9.2006,  10:51 Найти цитируемый пост)
Если мы будем давать одну XML'ку, там будет несколько Xinclud'ов и при этом они будут закешированы браузером, мы будем просто в шоколаде!!! 

Это довольно прикольно! Таким способом мы можем кэшировать к примеру каждое сообщение на форуме и тогда подгружаться будет только последнее smile Так траф можно нехило сократить и соответственно скорость отображения на клиенте. 


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
IZ@TOP
Дата 5.9.2006, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



sergej.z, что это ты все время форум упоминаешь? Он тут при чем интересно smile ? Мы же вроде как CMSку пишем?


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
sergejzr
Дата 5.9.2006, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Цитата(IZ@TOP @  5.9.2006,  11:03 Найти цитируемый пост)
sergej.z, что это ты все время форум упоминаешь? Он тут при чем интересно smile ? Мы же вроде как CMSку пишем? 

Ну определённые (похожие) элементы есть и тут, и там. Вот только ЦМСки у нас пока ещё нет, а форум есть. Функциональность отдельных элементов представить проще на примерах форума.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
IZ@TOP
Дата 5.9.2006, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



sergej.z, да, пожалуй так нагляднее и яснее.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Vingrad CMS | Следующая тема »


 




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


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

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