| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Для профи > Организация структуры сайта |
| Автор: Royan 5.10.2008, 14:57 |
| Этот вопрос больше относится к архитектурной тематике, но поскольку такого форума нет, я все буду писать на PHP, то задаю вопрос здесь. Задача: Создать механизм структуры сайта Возьмем самый простой случай. Положим у вас есть книга, в ней есть главы (1, 2, ... N), подразделы(1.1, 1.2, ... 1.n, 2.1, 2.2, 2.m, ... k.h) короче иерархия. Нужно из этой книги сделать сайт. Сразу приходит на ум XML, можно было бы даже без программирования на PHP обойтись, но я не хочу использовать XML, потому что не хочу парсить весь XML документ каждый раз когда пользователь щелкает по подразделу в содержании (если моя точка зрения не ясна сразу говорите). Почему пришлось бы парсить весь XML? Потому если я не ошибаюсь PHP не умеет держать в памяти распарсенную модель DOM, если ошибаюсь поправьте меня. В общем я хочу придумать такой механизм, который бы с минимальным набором вычислений, по заданному идентификатору выдавал текст главы или подраздела. Думаю сейчас в направлении автогенерации, например, задать структура сайта в XML, и банально сгенерировать из него HTML странички (кто программировал на java вспомните как работает javadoc) Еще одно условие содержание каждой страницы в моей задаче статично, то есть на них нет каких то супер навороченный Ajax компонент и т.п. |
| Автор: Sunvas 5.10.2008, 15:26 |
| Почему бы просто не использовать БД? Это и проще и быстрее: всего две таблицы (разделы и главы), всего два запроса (получение разделов и глав). |
| Автор: Royan 5.10.2008, 15:51 | ||
Базу не хочется использовать потому что все содержание статическое. |
| Автор: sTa1kEr 5.10.2008, 16:35 |
| Royan, раз сайт полностью статический, то к чему все эти сложности? Создайте иерархию разделов из директорий и html страничек. |
| Автор: solenko 5.10.2008, 17:15 |
| Royan, ну и как гибридное решение -- струкрутра в xml, при первом запуске и при изменении скрипт генерит html структуру. |
| Автор: sTa1kEr 6.10.2008, 08:28 |
| Royan, не обязательно это должны быть html файлы, могут быть и php скрипты с инклюдами. Или даже еще проще - используйте любой подход (или даже любую cms) совместно с reverse proxy. Т.е. прокси будет принудительно кешировать все GET запросы на длительное время, по производительности - это будет даже лучше, чем статические html файлы. |
| Автор: Glip 6.10.2008, 21:01 |
а что если никогда больше не придется? а что если в следующем проекте вам потребуется и ajax и распределение нагрузки и прочее? решайте задачи по мере их возникновения. прогнозирование - вещь хорошая, но злоупотреблять им тоже не стоит Добавлено через 35 секунд +1 за БД или перегенерацию XML |
| Автор: destrd 6.10.2008, 21:27 |
| Нет так много вариантов то. Все уже предложили. Если БД не хотите, то таже xml'ка будет выступать в роли базы, по номеру раздела находим содержимое раздела. Ещё предложили вам хранить в каталогах, но можно хранить не html-файлы, а просто текст. По номеру раздела подраздела находите каталог, ищите в нём файл, а название файла - название раздела. Ну можно ещё что-нибудь извращённое придумать:) Например, хранить смещение до начала главы или подраздела, и её размер. И использовать только один файл. |
| Автор: Boxa 1.11.2008, 20:53 |
| 1 таблица в mysql... смысла нет никакого парсить весь файл каждый раз + мало ли понадобится поиск или еще чего. |