ev писал(а):а отладка идет в пхп гораздо сложнее даже хваленая zend studio не всегда спасает...т.е. общее время на задачу (при использовании пхп) может быть и больше из-за сложности отладки и поиска ошибок
На PHP кодю уже не первый год, использую обычный текстовый редактор (по началу AsmEdit - хороший редактор, жаль что разработчики не выпускают новых версий, а теперь Kate). Ни каких отладчиков, никаких zend studio и проблем с отладкой как-то не испытываю... хм, может мне просто везёт?..
ev писал(а):в редакторе форм не предполагается визуально редактировать расположение элементов?и интересно как в ини-файле описываются списки и чекбоксы
Ответ в самом превом посте. Есть описание полей формы (читай Model), есть описание макета формы (читай View), есть аплет и обработчики событий (читай Controller), в сумме получаем пресловутый MVC (Model-View-Controller).
У меня нет идей по редактору макетов. Тут есть три решения. Один разработчиков на Шаманграде, в своей
AT CMS использует генератор форм, т.е. по описанию подобного ini-файла он генерирует HTML-код формы. Просто удобно, но не гибко, нет возможности раставить элементы иначе, чем в виде линейного списка (который в большинстве случаев достаточен). Либо, как делаю на данный момент я - использовать макеты (шаблоны) форм. Третий вариант - промежуточный, который будет поддерживать обе возможности и генератор форм и макеты, подробнее обо всех трех читай тут:
http://forum.shamangrad.net/viewtopic.php?f=45&t=754Attid писал(а):ну и если я в редактор страниц на народ ру вставлю "таблица, там текстовый блок, там-то список-коннтейнер для блоков-комментариев" и буду их растовлять это то и будет . только выход там сайчес хтмл, а надо будет php.
Есть ещё такая сущьность как скин/тема/оформление. То, о чем ты говоришь, просто редактор документа, типа как Word, что вижу, то и получаю. Другой подход TeX/LaTeX, описываешь логическую структуру, а конкреный вид (оформления таблиц, блоков, цитат и т.п.) определяется внешними модулями. Т.е. имеет место разделение содержания и внешнего вида.
Attid писал(а):http://www.qadram.com/vcl4php/index.php?ac=1900
Уже интереснее...
Attid писал(а):http://dklab.ru/lib/HTML_MetaForm/
Много буков, как прочитаю, отпишусь, но имхо, в "полный список возможностей комплекса", большей частью описанны бесполезные возможности...
=============================================
Очередная порция черновиков
МодульностьDelphi использует несколько очень хороших парадигм, что и сделало её столь популярной. Одной из таких парадигм является компонентный подход. Вместе со средой предоставляется некоторый набор стандартных компонентов, из которых как из кирпичиков можно строить новые приложения. Также в среде есть встроенные утилиты для создания новых компонентов. Благодаря этому сторонние разработчики могут создавать новые компоненты и тем самым расширять возможности среды.
Так же и в нашей среде будет использоваться модульный/компонентный подход. Компоненты могут быть самыми разными, от редактора бб-кодов, до модуля новостной ленты или блога. Модули/компоненты могут зависеть друг от друга, так например, модуль блога может использовать компонент редактора бб-кодов или визуальный редактор HTML-кода. Каждый компонент отвечает за свои задачи: если разработчик блога использует компонент редактора бб-кодов, то ему не нужно о том как он (редактор бб-кодов) работает и нужно только настроить пару его свойств.
Конечный пользователь тоже извлекает пользу от компонентного подхода. Так имея движок и набор компонентов, он может создать себе сайт просто установив движок и нужные ему модули (модуль, это своего рода пакет, несущий в себе набор компонент и является единицей инсталляции для конечного пользователя): блог, гостевая книга, форум, чат, вишлист и т.п. Конечному пользователю не нужно устанавливать IDE, т.к. движок сам умеет устанавливать модули. IDE будет использоваться для разработки новых компонент и нестандартных веб-приложений.
АплетыЦентральным элементом модульного подхода, в моём движке являеются аплеты (для тех, кто имел дело с cakePHP, это аналог контроллеров). Аплет отвечает за отображение страниц, обработку форм и действий пользователя. Так например, в PMS, за работу с новостями отвечает аплет news.php, за сообщения об ошибках - аплет report.php, за личные сообщения privmsgs.php. Они взаимно независимы: установка/удаление любого из них никак не влияет на работу остальных.
Примечание. Аплеты являются компонентами, но компоненты не ограничиваются одними аплетами. Упомянутый выше компонент редактирования бб-кодов не является аплетом, фактически это
шаблон и небольшой JavaScript.
Если напрячь воображение, то аплет можно сравнить с формами/юнитами в Delphi. В Delphi каждая форма описывается двумя файлами: *.pas - юнит с кодом и *.dfm файл описания формы. В моем движке (WSCore) аналогично: *.php - php-скрипт аплета с кодом и *.frm, *.typ - файлы описания веб-форм, которые я описывал выше.
Delphi-разработчик создает форму, накидывает на неё компоненты, настраивает события и обработчики. Чтобы создать обработчик, нужно (в общем случае) выбрать в инспекторе объектов, вкладку "События", выбрать событие и сделать двойной щелчок на выбранным событии. В результате среда сама за разработчика добавляет в соответствующий юнит прототип функции-обработчика и разработчику нужно только написать тело. Это просто и удобно.
Аналогично можно сделать в WSCore. Разработчик создает аплет - среда создает за него по шаблону php-скрипт пустого аплета. Через специальную утилиту, назовем её "редактором аплетов", создает "страницы" и обработчики форм. Также по двойному клику по обработчику открывается редактор у соответствующей функции, если её нет, то создается заготовка.
Добавлено спустя 1 минуту 10 секунд:galex писал(а):Буквально на днях раскопал очень интересное поделие:
http://www.morfik.com/. Причем в основе лежит иммено freepascal.
Качаю триал, посмотрим
Добавлено спустя 1 минуту 56 секунд:Хм.. ссылки какие-то странные, интересно чем им классический UrlEncode не понравился:
http://www.morfik.com/#I(frmXappMain!!)I(Morfik%20Pioneers!frmXappMain%3ASubForm1!)I(frmGetWebOS!Morfik%20Pioneers%3AMainSubForm!)I(frmGetM2Express!frmGetWebOS%3ASubForm2!)I(frmGetM2WebOS!frmGetWebOS%3ASubform1!)I(frmMorfikBanner!Morfik%20Pioneers%3ASubForm1!)
Добавлено спустя 1 минуту 18 секунд:Ааа, это якорь такой уродливый
Добавлено спустя 2 минуты 23 секунды:Бббблин, System Requirements: M$ Windows
Ну ладно, винда так винда, но хотю под Linux
Добавлено спустя 14 минут 55 секунд:Attid писал(а):http://dklab.ru/lib/HTML_MetaForm/
Прочитал, фактически тоже самое но под другим соусом. Мне мой подход ествественно нравиться больше