Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Vingrad CMS > Итак, я решил возобновить разработку Vingrad CMS


Автор: Wowa 31.8.2006, 01:40
Итак, я решил возобновить разработку. В ближайшее время я напишу тут мои мысли. Будем делать немного, но быстро. Основных разработчиков будет 3-4 человека, но т.к. это всё будет на CVS сервере лежать конечно же каждый сможет присоединиться и помочь.


Координировать работу буду я. Но необходим также старший помощник, хорошо знающий ПХП.

Автор: skalex 31.8.2006, 08:25
Отлично!
К сожалению попасть в команду разработчиков у меня нет шансов и поэтому если никто не против согласен выполнять роль стороннего наблюдателя, консультанта, тестера ...

Автор: Opik 31.8.2006, 11:45
Wowa, 
Коль такая пьянка могу им быть.

Автор: Wowa 1.9.2006, 22:56
В качестве шаблонного движка будем использовать Flexy ( http://pear.php.net/package/HTML_Template_Flexy )

Автор: Wowa 1.9.2006, 23:20
Цитата(Opik @  31.8.2006,  10:45 Найти цитируемый пост)
Wowa, 
Коль такая пьянка могу им быть. 


Хорошо, тогда настрой у себя Subversion(как в соседней теме сказано). Помнится мне, что Чеба тебе присылал уже пароль к нему когда-то.

Автор: Opik 2.9.2006, 16:42
Wowa, 
ок, как только комп с ремонта вернется, предпочтительно, это будет во вторник - среду. надеюсь не позже.

Автор: Opik 2.9.2006, 16:58
Wowa, 
Flexy? Почему отошел от идеи XML/XSLT?

Автор: Wowa 3.9.2006, 02:20
Кстати, еще о целях... Я выступаю за создание СМС, которая максимально могла бы настраиваться под конечного пользователя и содержала только необходимые ему функции. Админка администратора СМС должна быть отдельно от админки редактора, чтобы не путать лишний раз редактора всякими "левыми" элементами интерфейса и настройками.

Автор: Sardar 3.9.2006, 03:43
Wowa, определись с лицензией всего проекта и как она распространяеться на подпроекты. Основной костяк должен быть LGPL или подобное ИМХО, функциональные модули GPL или комерческая, как того захочет клиент. Тогда можно продвигать свободную основу и GPL'ные примочки, и быть точно увереным, что завтра проект вдруг не станет закрытым. Удобно, ИМХО.

Автор: Opik 3.9.2006, 15:26
Wowa, 
И Что насчет шаблонизатора? Flexy или XSLT?

Автор: Wowa 3.9.2006, 16:09
Цитата(Opik @  3.9.2006,  14:26 Найти цитируемый пост)
И Что насчет шаблонизатора? Flexy или XSLT? 

FLexy и XSLT. Как я понимаю, одно другому не мешает ведь?

Автор: sergejzr 4.9.2006, 11:44
Да, очень удобно с помощью FLEXY генерить XML.

Автор: IZ@TOP 4.9.2006, 15:07
Цитата(sergej.z @  4.9.2006,  12:44 Найти цитируемый пост)
Да, очень удобно с помощью FLEXY генерить XML. 

sergej.z, для этого по моему существуют встроенные средства? DOM например.

Wowa, Почему именно Flexy и собственно для чего?

Автор: Wowa 4.9.2006, 16:28
Цитата(IZ@TOP @  4.9.2006,  14:07 Найти цитируемый пост)
Wowa, Почему именно Flexy и собственно для чего? 

чтобы XML было удобнее строить. Т.е. строить используя шаблон.

Автор: IZ@TOP 4.9.2006, 16:57
Wowa, нет, ИМХО так вдвое увиличивается сложность реализации подготовки XML'я.
Во первых возникнет много багов связанных с тем что нужно править и шаблоны и в коде где обрабатываются данные.
Во вторых придется тратить дополнительное время на открытие файлов шаблонов и их парсинг.
Генерируя XML на лету мы всю логику зашиваем в РНР и не привязаны ни к каким шаблонам.
Работать, в случае необходимости, с DOM деревом намного удобнее. Юзаем и модифицируем ветки не тратя на это много ресурсов и из любого участка кода.

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

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


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

....


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

Автор: IZ@TOP 4.9.2006, 17:54
Wowa, ну ты что))) Я же не настолько безумный!
У нас ведь есть DOM:
Код

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

http://php.net/DOM

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

Добавлено @ 18:13 
ок, тогда так будем делать. Я согласен.

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

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

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

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

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

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

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


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

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

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

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

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


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

Автор: sergejzr 5.9.2006, 12:46
Хмм.. надо бы разобраться с XInclude, может опера понимает её..

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

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

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

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

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

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

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

Автор: IZ@TOP 5.9.2006, 14:00
sergej.z, да, пожалуй так нагляднее и яснее.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)