Дмитрий Сергеевич (axshavan) wrote,
Дмитрий Сергеевич
axshavan

Усей и nested sets

Буквально вчера я придумал усей (что это, я скажу позже), но не знал, куда его применить. А сегодня я встретился с Барбузой (его журнал суспендили довольно давно), и он мне рассказал про nested sets. Вкратце - это технология создания виртуального дерева сайта, позволяющая даже в MySQL одним запросом выковыривать информацию о ветви любой степени вложенности без привлечения всяких кэш-таблиц и прочего. И я понял, что знаю, куда можно применить усей!
UCEI - Universal Component-Engine Interface. Используется для универсализации компонентов сайта и движков. Суть его проста. Каждый компонент лежит в своей папке со всеми файлами, которые ему там нужны, может иметь разветвленную файловую структуру или вовсе сосотоять из одного файла. Короче, архитектура компонента может быть любой. Но с одним ограничением, и это ограничение как раз и есть усей. Компонент должен иметь универсальную точку входа, за которую его будет дергать движок. В папке компонента должен лежать файл с именем, например, gzagzayaaaarh.php (или любым другим, но надо обязательно решить, каким), а в нем - функция component_droching($_argsIn, &$_argsOut ... ) (или с другим названием), которую вызывает движок. $_args - это какие-то передаваемые аргументы.
Зачем это надо. Вот, например, CHLOSSER - универсальный, то есть не заточен ни под один тип контента, а, скажем, у Бало есть в ядре прямо встроенный функционал для показа статических страничек. С точки зрения компонента, который статичную страничку показывает, пофиг, кто и зачем от него хочет её получить. Задача компонента - у себя в табличке по полученному id нужный кусок текста найти и отгрузить в буферную переменную. Если я когда-нибудь допишу CHLOSSER и захочу написать новый движок (например, на nested sets), то, для того, чтоб не переделывать все-все-все написанные уже компоненты, я напишу его также под усей. И всё - подцепил и рад. Вот.
Tags: web
Subscribe

  • Инопланетный чертополох

    Пару дней назад ходили вечером гулять по окрестностям. Я повстречал возле пруда Асуан заросли какой-то инопланетной херни. Это такие шипастые шары…

  • Как у меня дела (четверг)

    Постепенно жизнь возвращается в прежнее, ещё до-хоум-офисное, русло. А надо-то было всего ничего, неделю походить на работу в офис. Но, разумеется,…

  • Два дня в офисе

    Ах да, забыл написать пост :) Совсем заработался. Так вот, результат PCR-теста пришёл отрицательный примерно через 25 часов после того, как я его…

  • Post a new comment

    Error

    Comments allowed for friends only

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 6 comments