Virtual File System

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

Rammstein

PHPClub::News
Virtual File System

Кто-нибудь читал статью в PHPInside о Виртуальной файловой системе? Хочу реализовать её, но чёт работа не особо идёт. Всё думаю над концепцией. Желает ли кто-нибудь принять участие в разработке? Скорее всего это будет оупен соурс. Появилось ещё несколько идей с момента написания статьи, но хотелось бы выслушать ответ на предыдущий вопрос.
Если интересует, то первые наработки уже есть.
 

Dagdamor

Новичок
Автор статьи - ты, верно?
Должен сказать, что статья лично мне показалась достаточно невнятной (сорри). Что это такое, а главное, зачем это нужно? Если мы храним действительно разнородные данные, то обычная файловая система была создана специально для этого, и вряд ли ты напишешь что-либо на порядок лучшее на PHP. Если хранятся однотипные данные, то это уже больше подходит для хранения в SQL таблице (в виде обычного списка или дерева, в зависимости от того, структурированы данные или нет), и я не вижу необходимости создавать новый гибрид. Возможно, я чего-то просто не понимаю... в таком случае, приведи практический пример использования данных, для которых не подходят ни обычная FS, ни каноническая SQL таблица. Заодно и концепция появится :)
 

Rammstein

PHPClub::News
Разделю на два вопроса.
Почему не файлвая система сервера?
1) Возникнут трудности с выборкой файлов без обращения внимания на место нахождения объекта
2) Я ещё не встречал файловую систему, в которой можно было бы задавать свои типы данных. Обычно они строго заданы, как и их свойства (дата последнего обращения, создания и т.п.), что не приемлемо для объектов
3) Нет гибкости SQL БД (или реализуется с большим трудом): сортировка, группировка, выборка по условию
4) Замечу, что есть такое Safemode и есть различия в разных файловых системах (но это, ИМХО, самое маловажное из списка)

Почему не SQL?
А с чего ты взял, что это не SQL? :) Просто удобный интерфейс, похожий на файловую систему (хотя в последних моих изысканиях на эту тему, я уже достаточно сильно удалился от неё).
Т.е. это делается для удобного обращения. К примеру, чего только стоит наследование типов! Например, сделали объект Человек, добавили свойства id (уже добавлен), имя, рост. Потом доавили Ребёнок и свойства: сколько знает слов (например). Если добавим ещё "цвет глаз" в "человек", добавится автоматически и в "Ребёнок".
Тут на самом деле огромнейший простор для действия.
Ну, и, конечно же, возможность создавать скрипты, которые были бы ориентированы на относительные пути в этой ВФС. Т.е. одинаково бы работали и в /test/man1/ и в /test/man2/ без изменения кода.
 

440hz

php.ru
Re: Virtual File System

Автор оригинала: Rammstein
Если интересует, то первые наработки уже есть.
год назад реализовывал похожую систему как надстройку над SQL. очень удобно использовать в интернет магазинах когда товары очень различны и никогда не знаешь какое ее свойство заказчик придумает. а так он сам проектирует модель хранимых товаров, их свойств и создает нужные ему экземпляры.

а так вообще можно оперировать объектами любой сложности.

так же там реализованы связи между объектами. т.е. свойством объекта может быть "указатель" на другой объект.

http://www.440hz.spb.ru/news/?NID=gdmhpu6ny30spzra

почитал ... давно все уже реализовано в виде классов и их экземпляров ... 8) и более того - работает

p.s. и уж к "файловой системе" все это отношение имеет мало.
 

Rammstein

PHPClub::News
Ура! Нашёл понимающего)
Может поделишься?
Хотя бы устройством/возможностями.... ну лучше сырц :)
 

440hz

php.ru
Автор оригинала: Rammstein
Ура! Нашёл понимающего)
Может поделишься?
Хотя бы устройством/возможностями.... ну лучше сырц :)
могу исходники выложить www.art-index.org, но там много чего, т.к. все интегрировано. не лень будет разбираться? 8)
 

440hz

php.ru
Alexandre
давайте не будем путать идею и ее реализацию. 8)
сама идея объектной надстройки мне сипатична.
как кто ее реализовыввает дело личное
 

Alexandre

PHPПенсионер
440hz идея виртуальной файловой системы - правильная идея, но труднореализуема.
 

440hz

php.ru
Alexandre
а чем плохи существующий файловые системы? UFS, NTFS etc.
 

ONK

Пассивист PHPСluba
Как я понял, здесь речь идёт о конструировании произвольных _структур_ данных с автоматизацией проверки и обработки их свойств, но причём здесь __файловые системы__?
 

440hz

php.ru
ONK
вот я именно про это ... скорей всего автору понравилось звучание названия ... но не более того ...

-~{}~ 28.02.06 15:08:

Автор оригинала: ONK
конструировании произвольных _структур_ данных с автоматизацией проверки и обработки их свойств
угу. с наследованием свойств. классы и экземпляры. а реализация хоть на FS, хоть на SQL, хоть на XML - это как кому нравится
 

tf

крылья рулят
Автор оригинала: 440hz
год назад реализовывал похожую систему как надстройку над SQL. очень удобно использовать в интернет магазинах когда товары очень различны и никогда не знаешь какое ее свойство заказчик придумает. а так он сам проектирует модель хранимых товаров, их свойств и создает нужные ему экземпляры.
Автор оригинала: 440hz
как сделаю - писну сюда ссылкой
просы ссылку еще не забыл.
интересно будет посмотреть. что-то подобное недавно воял. интресно посмотреть чужие реализации
 

Alexandre

PHPПенсионер
ячто-то недогоняю,
нужна реализация виртуальной файловой системы или реализация хранения объектов с произвольной структурой?

под реализацией виртуальной файловой системы - я понял, нужно смоделировать (например в памяти) обращение к файловой системе, что экономит массу времени на дисковые операции. Идея - несомненно нужная, и скорее всего уже реализованна, осталось ее только подмантировать (для этого найти модуль и проинсталлировать) или написать к нему ZEND-интерфейс.
 

440hz

php.ru
Alexandre
если внимательно прочитать статью то станет ясно, что именно хранение и управление объектами с произвольной структурой.

а "файловая" идет от того, что файл это хранилище информации. по сути бред.
 

Rammstein

PHPClub::News
Извратили идею как смогли, блин :(

Ткните пальцем в место, где я говорил о хранении всего этого в файле!

Действительно, я тут веду речь об объектах, с динамически изменяемыми свойствами и связями. Точнее об организации интерфейса для удобной с ними работой. Тут все правильно поняли задумку.

Теперь что касается "Файловой системы", то речь идёт о подобной организации всех объектов в дерево. Так же подразумевается, что может быть создан код, например, такого содержания:
PHP:
function somef($dir)
{
   $obj = $dir->getObj(1);
   $obj->set('title','Первый в папке '.$dir->title);
}
И при этом он будет работать для люой диретории, которая содержит 1 объект. Фактически это удобно для модулей, потому как можно на разные URI повесить один и тот же модуль, но работающий с разными диретории, и при этом без усложнения и изменения кода модуля. Вот.

Сейчас, правда, я совсем отказался от понятия "Директория" и перешёл к понятию "Узел". Узел - по сути такой же объект, но имеющий дополнительную информацию и функциональность для позиционирования в дереве и работы с этим деревом.

Замечу, именно ожидая таких сообщений, я намеренно отказался от вынесения реализации в статью (пошёл туда только один SQL запрос).

-~{}~ 28.02.06 22:08:

Добавлю, что если реализовать подобное, то в десятки раз облегчится работа с данными... на самом деле, самая рутинная.
 

440hz

php.ru
Rammstein
вот не надо тогда вводить в заблуждения!
обычное дерево где на узел еще навешиваются свойства, а ты фалйовая система ... файловая система ... название понравилось? 8)

вот смотрю все еще раз и помоему какая-то каша получается. если просто хранить объекты в дереве в узлах - это одно, но тогда законный вопрос о самих объектах.

что же все-таки за идея-то?

я правильно понимаю:

1. есть дерево. в каждый узел которого мы можем запихнуть любое кол-во объектов.
2. есть объекты - вот тут не понятно ...
 

Нечто

Психолог РНРClub
Мда. Не в обиду будет сказано, но нашли, что печатать в журнале..
Аффтар даже не может объяснить, чего хочет. Тут о "проекте" и заикаться рано.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху