То ли ваши письма до меня
доходят, то ли погода неважная. Пишет только ОДИН человек из 64-ех. Короче, я
решил реорганизовать рассылку, о чем извещу скоро. Итак, поговорим сегодня о
структуре сайта. Раз уж никто темы не поднимает толком.
Напоминаю! Эта рассылка предназначена
как для НЕСПЕЦИАЛИСТОВ в области веб-технологий, так и для прочих гуру,
которые заинтересованы в создании качественно-нового двигателя сайтов.
Начну с письма Стаса (написал и подумал, у меня что, тут куча
писем:).
Привет.
Представлюсь зовут меня Стас, фамилия не важна.
Совершенно согласен с вами по поводу важности структуры сайта, по этомуповоду скажу следующее. В своих разработках использую следующий подход:(
возможно он покажется не удобным, но мне нравиться, к томуже я непрофессиональный программист ):
Сайт представляет из себя набор виртуальных страниц содержащих функции.Тоесть нет блока новости, нет блока статьи и тд.
Примитивно структура такая:есть обработчик
который ловит запрос mod_rewrite (любой, типа?req=/abc/cbd/dba/) Затем
обращается к древовидной базе типа:
Откуда получает необходимую ветку xml-файл с текстом и
функциями и xsl-файл с дизайном.
Лично мне нравиться такой подход полной универсальностью любая страницаможет быть чем угодно и содержать что угодно. Это если очень кратко. Вполноценную CMS мне это преобразовать не удалось, нехватает ни знаний,ни времени.
Я так понял что вы хотите опубликовать свою разработку.
Когда это произойдёт ?
---
Как вам способ хранения структуры (аудитория тут
вообще?:)? На мой взгляд весьма недурна собой. Особенно,
если учитывать тот факт, что подобный формат я применяю уже давно во всех
версиях своего двигателя. Сейчас у меня сия вещь куда навороченней. Но принцип
уже ясен из вышеприведенного примера. И требования соблюдены: структура видна
как на ладони, с ней удобно и приятно работать, универсальность просто
потрясающая, перспективы развития весьма велики, скорость работы
удовлетворительная.
По поводу скорости работы я пока затрудняюсь
вообще говорить. Весь мой двигатель, к примеру, построен с весьма интенсивным
использованием XML. И пока тормозов не наблюдалось. Да,
работает медленнее, но тормозов нету. Думаю, понятно о чем я.
Теперь о недостатках вышеприведенного примера.
Вот берет владелец сайта и начинает рисовать структуру. Создает он раздел
новостей. И что в него он вложит? В примере пока абстрактный xml-файл.
А пользователю нужны новости. То есть нужно к разделам сайта прикреплять
ФУНКЦИИ! Понимаете? Строим дерево из разделов и к каждому разделу назначаем
функцию: новости, каталог товаров, раздел статей, раздел вакансий. Почему?
Обычный пользователь xml-файл с нужным ему содержимым не
напишет. Ему проще будет, и эффективней все создать визуально на понятных ему
терминах.
Кстати, не надо стесняться, если вам кажется,
что ваш способ удобный, то так и говорите. Вот видите своими глазами, что есть
еще такой человек, то есть я, который не только считает вышеназванный способ
удобным, я считаю его САМЫМ удобным и самым эффективным. Я его пытался и так и
сяк перекраивать. Все равно прихожу к одной и той же схеме. То есть это я к
тому, что не надо стесняться своих бредовых мыслей. Надо стесняться их не
высказывать. Чаще так и бывает, что самые гениальные идеи и есть на вид самые
бредовые. Но потом,.. в общем мы потом летаем на самолетах, хотя кто-то на
полном серьезе говорил что не полетит.
Это было лирическое отступление. Итак, про свою
разработку скажу, что опубликую в скорейшем времени. Дату не назову, просто
оповещу в рассылке.
Резюме такое, движок должен обрабатывать запрос
и определять к какому разделу он обращается. Далее вызывается главная функция
этого раздела. Функция выдает данные, основываясь на запросе и генерирует поток
XML-данных. Последние оформляются в HTML
или еще во что там нужно при помощи стилей XSL.
Что можно добавить? Надо подумать, как
прикреплять несколько функций к одному разделу и понять зачем это нужно. Также
понять как ввести мультисайтовость (чтобы один движок обрабатывал запросы для
разных сайтов - то есть разных доменов). И еще нужно понять как сделать, чтобы
запросы выглядели, например, так: /news/2005/02/12/,
вместо такого /news/?year=2005&month=02&day=12. Причем
без использования mod_rewrite, только средствами движка.
Я это уже придумал, но хочу услышать сначала ваше мнение. Тут нюанс получается
такой, запрос /news/ есть запрос к разделу news,
а запрос /news/2005/02/ есть запрос к тому же разделу
news, но с параметром 2005/02.
Чуете о чем я? Если нет, объясню в следующем выпуске.
Еще раз напоминаю: ПИШИТЕ ПИСЬМА! Пишите
о себе и отвечайте на вопрос "Зачем подписались?", пишите о
требованиях к CMS (системе
управления сайтом), пишите о концепциях ваших двигателей, если есть.
Всего доброго!
С вами был Хусамов Сухроб.
Пишите по адресу: xpower@suhrob.spb.ru
Внимание! Любое письмо может быть опубликовано
полностью или частично, если не будет указано, что публиковать нельзя. Адреса
публиковаться не будут, если вы специально об этом не попросите.
Письма присылайте сюда: xpower@suhrob.spb.ru Внимание: если нет однозначного запрета на публикацию письма
или его фрагмента, публикую по своему усмотрению.
Копирайты есть, их не может не быть. И даже где-то и как-то защищены.