Идеология формирования внутренней структуры сайта

ALEZ

Новичок
Идеология формирования внутренней структуры сайта

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

При обсуждении были выявлены два подхода:

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

2. Хранить в базе данных только разделы простой структуры (скажем, просто с текстовой информацией), а остальную структуру сайта хранить в дереве каталогов. Чтобы скрипт, не найдя информации о нужном разделе в базе, в соответствии с URL проходил по нужным папкам на сервере и загружал нужный файл шаблона.

Первый подход привлекателен своей универсальностью, возможностью динамически создавать разделы при помощи визуального интерфейса (а так же менять структуру вложенности, удалять и скрывать некоторые из них), возможностью создавать неограниченное количество уровней навигационных меню.

Второй подход лишен всех преимуществ первого, но, тем не менее, находит своих последователей. В чем его положительные стороны?
 

Фанат

oncle terrible
Команда форума
Второй подход диктуется принципом разделения кода и данных.
приложение в результате состоит из двух (а точнее - трех) частей.
Но с точки зрения функционирования программы получается две - код и данные.
Код - незыблемый, не меняется с момента установки программы. Это владения программиста и юзер туда не лезет.
Данные - то, чем распоряжается юзер. Заносит редактирует, удаляет. Хранятся в базе. Любые кульбиты юзера с данными не повредят функционированию приложения. Очень удобно.

-~{}~ 06.01.08 18:27:

вообще не очень понятно, что имеется в виду под структурой сайта. скрипты штоле?
 

ALEZ

Новичок
Автор оригинала: *****
Второй подход диктуется принципом разделения кода и данных.
приложение в результате состоит из двух (а точнее - трех) частей.
Но с точки зрения функционирования программы получается две - код и данные.
Код - незыблемый, не меняется с момента установки программы. Это владения программиста и юзер туда не лезет.
Данные - то, чем распоряжается юзер. Заносит редактирует, удаляет. Хранятся в базе. Любые кульбиты юзера с данными не повредят функционированию приложения. Очень удобно.
Не обязательно же пользователю давать доступ к изменению обработчика того или иного раздела. Пусть меняет их местами, скрывает, и.т.д. Но привязка раздела к шаблону остается постоянной.


-~{}~ 06.01.08 18:27:

вообще не очень понятно, что имеется в виду под структурой сайта. скрипты штоле?
Под структурой понимается структура разделов сайта.
 

Фанат

oncle terrible
Команда форума
абанамат
что за "структура разделов сайта"?
в физических величинах, которые руками потрогать можно - это что?

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

-~{}~ 07.01.08 11:11:

ты исходишь из того, что все наполнение сайта - это просто тексты.
и совершенно, по-моему, забываешь про скрипты, которые эти тексты должны обрабатывать. по-разному.
При обращении к какой-то странице, выбирать ее запись из базы данных, определить обрабатывающий ее шаблон и загружать его
ха-ха, как мило.
при обращении к любому разделу сайта се что нужно - это достать текст.
а где в этой системе мира КОД, который решает - какой именно текст доставать из базы?
 

Dreammaker

***=Ф=***
>как можно динамически при помощи визуального интерфейса создать раздел

В CMS-ах коммерческих такое уже есть. То есть, добавляется поля которые будет иметь раздел, каждому полю указывается, тип, ограничения (не меньше 10 и не больше 20 символов). По желанию, приправляется шаблоном, но для этого уже нужно иметь больше способностей + для того, чтобы описать расширенные действия во время добавления - удаления записей нужно иметь ещё больше моска и разбираться в пхп.

Такое в неткате, например, реализовано. То есть, юзер не умея программировать может добавить недостающий простой раздел себе на сайт.
 
Сверху