Вопрос по классу CDBTree

Phoinix

Guest
Вопрос по классу CDBTree

Доброго времени суток!
Посмотрел статью: cdbtree
Скачал класс dbtree и понял, что он малофункционален. Я использую совершенно другой принцип управления деревьями. Решил написать свой класс, но так как не имею опыта написания классов PHP (PHP использовать начал 2 недели назад), то собирать свой класс начал на основе структуры существующего класса dbtree, и сразу возник вопрос:

В классе dbtree используется дополнительный класс CDatabase отвечающий за работу с SQL базой данных. Методы или конструкторы этого класса по большей части состоят из одной строки, что не дает никакого выигрыша в размере кода.
Сначала я решил, что данный класс введен дабы была возможность изменить тип базы данных на тот же PostgreSQL или Oracle, но многие запросы и команды класса CDBTree будут работать только в MySQL. При этом, приходится создавать дополнительное подключение к базе данных.
Это просто дань моды (ООП - это модно) или все же имеет какой-либо смысл?
 

su1d

Старожил PHPClubа
Phoinix, не переживай, особо смысла там никакого.
да и ООП'ом это называть -- кощунство =)
просто мне удобно было работать с БД через такую примитивную обёртку.

ни о какой кросс-платформенности там и речи даже нет.
более того, в Постгресах/Ораклах для деревьев я скорее заюзаю stored procedures и триггеры, чем это уродство.

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

кстати, дополнительного подключения к БД не создаётся, если этот же самый CDatabase используется проектом.

в общем, можешь спокойно портнуть это всё дело на любую из твоих любимых обёрток к СУБД.
 

kvf77

Red Devil
Phoinix

http://php.russofile.ru/ru/authors/sql/nestedsets01/

Собственно довольно сильно модифицированная оригинальная либа, возможно тебе помоежт - она мною очень хорошо документирована
 

Phoinix

Guest
kvf77

Спасибо, прочту... правда я уже пошел с другой стороны:

http://phoinix.ucoz.ru/publ/1-1-0-18
 
Сверху