Объектное ориентированное хранение информации (деревья + классы с наследованием)

Rammstein

PHPClub::News
На самом деле, данная реализация без нормального интерфейса - чистые неприятности. У самого было реализовано на одном из магазинов. Через месяц забыл как всё работает 8) даже комментарии не помогли.
 

440hz

php.ru
Через месяц забыл как всё работает
есть такое ... я уже сейчас и не помню как все там живет, но ведь живет же ... и заказчик меня не теребит, когда ему надо новое свойство добавить.

хотя теперь и денег не взять за модификацию/расширение БД, за доработку кода и т.д. а как можно было денег лупить за это ...
 

Rammstein

PHPClub::News
440hz
Я даже больше скажу, что не просто работает, а достаточно шустро (без кэширования). Парадокс...

Нужно просто денег сразу больше брать за функционал. :)
 

Денч

Новичок
А чем плох способ под каждый тип выделять отделное поле в одной таблице?

Я у себя так делаю...
 

Wicked

Новичок
440-му в аське я уже писал, но, думаю, и остальным может быть интересно:

Посмотрел на SQL файл.
Я бы сущностям таки авто-инкременты раздал, соответственно их и юзал бы для внутренних целей. А снаружи пусть видны фэйковые id varchar16. А то лично у меня на mysql 4.0.20c была такая штука, что не могли быть использованы индексы при джоинах по varchar полям, соответстенно шел фулскан 300,000 * 300,000 * 200,000 * 120,000 записей.

Или можно заменить индексы с varchar16 на неавтинкрементный mediumint, с рандомными значениями. Эффект тоже будет положительный.
 

Rammstein

PHPClub::News
440hz
Я тоже сделал этот эксперемент за копейки :) Собстна отсутствие ответственности и побудило меня на этот шаг...
 

PhpGuest

Новичок
Очень интересная разработка. Можно ли гдето получить исходные коды?
 

tf

крылья рулят
ps/так к слову а как ты реализовавал многоязычность в своих классах с переменными параметрами для разделов сайта?
второй день думаю как лучше поиск там организовать или подбор по отдельным элементам - с текстовыми полями туго, если только базы отдельные делать?
=)
 

440hz

php.ru
tf

именно под этот проект просто сделаны поля name_ru name_en и при выбоке идед name_(ru|en) as name.

в более новых версиях перешел на utf-8, т.к. пришлось прикручивать под японский язык в одном из проектов.

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

сам же поиск сделан устроен так, что при сохрарении объекта значения полей собираются в одну строку и записываются соответственно в search_(ru|en) которая FULLSEARCH ну и при поиске MATCH.
 

tf

крылья рулят
млин написал тут а форум 503...
а хорошая идея по разным базам разные типы хранить, подбор тоже лучше оранизовать можно :)
а в самой таблице
CREATE TABLE param_text
языки как храниш value_en + value_ru
или тоже в разных базах?
я подумаю про разные - чтобы подбор по всем своим параметрам (как тут) проходил быстрее - не нужно будет mysql сканить ненужные записи.
 

tf

крылья рулят
440hz, сорри за исходники, не читал еще
в тот момент была своя реализация - читал только идеи да и не до многоязычности было :)
 

jer

...
так же хотелось бы взглянуть на исходники, если это возможно.

или на демку
 

tf

крылья рулят
jer, на старую демку ищи ссылку в первоночальных ссылках 440hz топика
если конешно еще доступна :)
 

jer

...
В том то и дело, что не доступна.
В первую очередь туда сходил. )
 

dacuan

Новичок
Не сочтите за рекламу.

На сайте http://cairo.com.ua/ представлена система, аналогичная
рассматриваемой.

Минусом является то, что она коммерческая. В плюсах:
- UNIX-подобная система прав
- Возможность создавать любые классы из заданного набора типов полей
- Связывание объектов в древовидную структуру (каждый объект может присутствовать более чем в одной ветке дерева)
- Создание собственных типов полей
- Подробная документация на русском
- Техподдержка
- ...

Имею отношение к ее разработке, поэтому с удовольствием отвечу на Ваши вопросы.
 
Сверху