Virtual File System

Статус
В этой теме нельзя размещать новые ответы.

440hz

php.ru
Rammstein
на том и порешим.

может сегодня исходники выложу ... руки все не доходят
 

Rammstein

PHPClub::News
Так, первые впечатления от JCR:
1) Удачная идея с множеством родителей в дереве. NestedSets тогда отпадает (на сколько я знаю, там не может быть два родителя).
2) Удачная идея с "билетами". Теперь я понял что с транзакциями делать :)
3) Тут совсем буквально релизована "произвольная структура" объекта. У нас, думаю, всё же, будет реализован интерфейс для управления типами. Т.е. совсем уж такой произвольности не будем допускать. Хотя, это вопрос для дискуссии.
4) Смысла реализовывать разные типы репозиториев я не вижу. Будём всё под БД затачивать.
5) Так отделяем понятия узел и объект? Моё мнение - не стоит.
6) Выделять отдельно объект "свойство" тоже не особо смысла вижу

-~{}~ 03.03.06 22:37:

Вот что-то:

К понедельнику постараюсь выложить описание всего этого.
 

Xeon303

Новичок
Очень много думал на эту тему. Тоже есть свои идеи.

Заодно, хотел бы подкинуть линк – http://ez.no. Наверное, многие знают про CMS «eZ publish», так вот, там реализована подобная система. В их терминологии каждый тип – это «контент-класс», на основе которого можно создавать документы этого типа. Так же все документы хранятся в структурированном виде. Насчет наследования не знаю, судя по всему, там его нет. Зато реализован удобный метод создания новых объектов, на основе контент-класса система выстраивает форму по свойствам класса. Еще в свойствах класса можно указать, может ли тот содержать дочерние объекты.

В общем, реализация там так себе, но взглянуть на систему стоит.

По-моему, грамотный интерфейс API для управления структурой дерева объектов и свойствами объектов избавит многих разработчиков и админов сайтов от насущных проблем. Админы не будут дергать разработчика, если в систему нужно добавить новый тип (например, тип «анонс» или «продукт»), а разработчики в свою очередь получат отличный инструмент для хранения объектов произвольного типа. Например, эту же систему можно использовать для хранения аккаунтов.

Если в целом, то, по-моему, главные задачи и требования к системе такие:

1. Хранение объектов в древовидной структуре с неограниченной вложенностью
2. Возможность изменять свойства классов
3. Операции над несколькими объектами одного типа (сортировка, выборка по условию)
4. Пользовательский интерфейс, который динамично генерируется (как в eZ publish), в соответствии со свойствами класса
5. Насчет наследование не знаю – особо не вникал
6. API-интерфейс для доступа к объектам, модификации, перемещения объектов по дереву, в общем полный контроль над классами и объектами.
 

Rammstein

PHPClub::News
http://phpclub.ru/talk/showthread.php?threadid=82801

-~{}~ 07.06.06 12:35:

Предлагаю присоединиться к разработке. Открыта wiki:
http://avlab.ru/orm/
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху