Как сделать сайт?

  • Автор темы Energizer
  • Дата начала

Energizer

Guest
Как сделать сайт?

Как сделать сайт вида: index.php?id=1234. Как различают разделы по $id в таком случае? Подходит ли такая структура для сайтов среднего объема?
 

Mammoth

Guest
ИМХО, ты не с того конца начал проектирование сайта... Как будут выглядеть ссылки - это не суть важно.
 

Апокалипсис

Guest
<a href="index.php?id=1234">ССылка</a>
Каждому разделу присвой уникальный id
 

Energizer

Guest
мне важна структура таких сайтов! Полагаю, что шаблоном будет index.php. По $id нахожу страницу которую нужно вывести. Так вот что из себя представляет эта самая страница - просто кусок вырезанного кода, который тупо инклюдится? Расскажите о других подходах.
 

Barlone

Guest
Не, на самом деле, ты начал не оттуда.
Ну ладно, к примеру, раз уж тебе так хочется: по $id выбирается запись из БД.
 

Fobos

Guest
Вот подходы:
1. это то что сказали - выцеплять разделы из БД
2. схожий с первым подход - XML
3. есть один файл индекс.рнр, а внем куча проверок условий
PHP:
if ($_GET[id]==1) echo "text1"; //если ты так уж хочешь иметь такой адрес страницы
if ($_GET[id]==2) echo "text2";
if ($_GET[id]==3) echo "text3";
...
и при каждом вызове этого расчета он выдает только нужный раздел.
4. куча файлов с названиями твоего id.
5...

Делай так, как тебе удобно.
 

Energizer

Guest
Автор оригинала: Fobos
Вот подходы:
1. это то что сказали - выцеплять разделы из БД
2. схожий с первым подход - XML
3. есть один файл индекс.рнр, а внем куча проверок условий
PHP:
if ($_GET[id]==1) echo "text1"; //если ты так уж хочешь иметь такой адрес страницы
if ($_GET[id]==2) echo "text2";
if ($_GET[id]==3) echo "text3";
...
и при каждом вызове этого расчета он выдает только нужный раздел.
4. куча файлов с названиями твоего id.
5...

Делай так, как тебе удобно.
1. Верстальщики не справятся! Да и статики будет порядочно. Это на крайняк.
2. поход - практически аналогично первому. Хранить страницы в XML я не стану - слишком трудоемкий процесс, когда много разделов - много XSL понадобится. Неудобно работать с динамикой.
3. подход - неудобно. А проверку лучше загнать в XML.
4. А зачем PHP тогда?

Идея в том самом разделении - контента от кода. Я хочу разработать каркас сайта - index.php и шаблоны для каждого раздела. И мне пока не важно в чем (PHP, XML).

Поделитесь пож-ста как вы разрабатываете сайт? А на этом подходе(index.php?id=1234) я не зацикливаюсь.
 

Fobos

Guest
Автор оригинала: Energizer
1. Верстальщики не справятся! Да и статики будет порядочно. ...
Во-первых: ничего подобного. Все зависит от конкретной задачи. Т.е. я не совсем понимаю, при чем тут статика. Во-вторых: этот способ и мне кажется довольно трудоемким в реализации некоторого класса задач.
2. поход - практически аналогично первому. Хранить страницы в XML я не стану - слишком трудоемкий процесс, когда много разделов - много XSL понадобится. Неудобно работать с динамикой.
Я перестаю понимать, что же ты такое ваяешь, если все так трудоемко и неудобно :). В XML храняться данные, как в БД. Если тебе нужно, то ты их оттуда выдергиваешь. Динамика - твоим верстальщикам (если ты все правильно организуешь) придется для модификации информации на сайте лишь править текстовый файл (xml) с использованием понятных для них терминов. Имхо это правильно. И никто не говорит, что это как два раза плюнуть реализовать. И XSL здесь ни при чем. Можно обойтись без него.
3. подход - неудобно. А проверку лучше загнать в XML.
Хм. Откуда дровишки? В смысле, кто сказал? Я, например именно так и делаю во многих случаях. Это очень удобно даже для довольно больших страниц. А про XML я не совсем понял. У меня складывается впечатление, что ты слабовато представляешь себе назначение этой технологии. Прошу прощения, если я ошибаюсь.
4. А зачем PHP тогда?
А вот это я вообще не понял :). РНР, чтоб на нем писать.
Идея в том самом разделении - контента от кода....
Стоп! Ты спросил, как вообще написать сайт, чтоб были такие УРЛы? Тебе это и рассказывают. Как отделить код от наполнения - это совсем другая тема. Теперь я понимаю, чего ты все про XML разговор заводишь :)
Поделитесь пож-ста как вы разрабатываете сайт?
Например у меня есть один файлик - именно index.php. В нем инклудится файл design.inc, в котором описывается общая структура моего html-кода, где каждый элемент страницы (картинка, блок новостей, голосование, меню навигации и т.д.) заменен вызовом РНР-шной функции. Реализация этих функций хранится в другом файлике functions.func. Итак у нас есть три файлика. Надо поменять расположение элементов на странице - замени второй файл. Нужно добавить или отнять функциональность, модернизируй функции в третьем. А уже эти самые РНР-функции берут данные откуда ни попадя. Хочешь - из базы данных, хочешь - XML, хочешь - просто html-страницы.
Хочу заметить, что мой подход не претендует на абсолютную идеальность. Просто мне так удобно и его недостатков я пока не нашел.
Ну, до связи.
 

Barlone

Guest
Автор оригинала: Energizer
Верстальщики не справятся!
[skip]
Поделитесь пож-ста как вы разрабатываете сайт? А на этом подходе(index.php?id=1234) я не зацикливаюсь.
Можно не пихать всё в один файл.
Смотря какие верстальщики. Можно объяснить им, какие несколько сторчек нужно вставить в каждый файл. Или просто сделать шаблон в DreamWeaver с нужными вставками.

Можно поискать готовый движок для шаблонов - недавно их в форуме обсуждали.
 

Energizer

Guest
Контент в XML - не подходит! Поскольку есть Oracle - единая база по 15-ти заводам. :) Гы.
 

Mammoth

Guest
Energizer, у тебя проблемы концептуального характера. Сначала научись задавать вопросы.
 

Energizer

Guest
Автор оригинала: Fobos
...
Например у меня есть один файлик - именно index.php. В нем инклудится файл design.inc, в котором описывается общая структура моего html-кода, где каждый элемент страницы (картинка, блок новостей, голосование, меню навигации и т.д.) заменен вызовом РНР-шной функции. Реализация этих функций хранится в другом файлике functions.func. Итак у нас есть три файлика. Надо поменять расположение элементов на странице - замени второй файл. Нужно добавить или отнять функциональность, модернизируй функции в третьем. А уже эти самые РНР-функции берут данные откуда ни попадя. Хочешь - из базы данных, хочешь - XML, хочешь - просто html-страницы.
Хочу заметить, что мой подход не претендует на абсолютную идеальность. Просто мне так удобно и его недостатков я пока не нашел.
Ну, до связи.
Спасибо большое, что не поленился все это написать. Как я себе предполагаю это решение: В index.php идет проверка ID и определение раздела. Прямо в нем и задаю общую структуру сайта. По нему инклюжу тот или иной design.inc - структура раздела с вызовом тех или иных ф-й из functions.func.
Сюда можно прикрутить и XML: погрузить меню навигации в красивый XML-файлик и т.д. Жду критики!
 

Energizer

Guest
Автор оригинала: Mammoth
Energizer, у тебя проблемы концептуального характера. Сначала научись задавать вопросы.
Как можно заметить вопрос слишком широк. Чтобы спрашивать что-то конкретное нужно сперва разобраться, чем я и занимаюсь с вашей благодарной помощью.
 

RomikChef

Guest
у меня такой подход.
На каждый раздел сайта, точнее, на страницу, показывающую однородную информацию - один файл.
Еще никогда меня не подводил.
А вот вариант с идами чреват.
 

Energizer

Guest
Автор оригинала: RomikChef
у меня такой подход.
На каждый раздел сайта, точнее, на страницу, показывающую однородную информацию - один файл.
Еще никогда меня не подводил.
А вот вариант с идами чреват.
Ромик, постой!
Теперь у меня зародилось сомнение. Твои сайты все же имеют вид /index.php?id=tralyalya или ты забил на это и делаешь /folder/index.php?id=tralyalya ? Особой разницы впрочем нет.

И еще- всем: что за манера мешать статические htm(кто уже позабыл) с динамическими php страницами. Это что нормально?
 

RomikChef

Guest
мои сайты имеют вид /tralyalya.php

ответ на второй вопрос - эта мода пошла с тех пор, когда html мешали с cgi
и, ты знаешь, до тебя это никого особо не напрягало.
а тип файла надо выбирать исходя из его содержимого, а не из единообразия.
 

Fobos

Guest
Автор оригинала: Energizer
Спасибо большое, что не поленился все это написать. Как я себе предполагаю это решение: В index.php идет проверка ID и определение раздела. Прямо в нем и задаю общую структуру сайта. По нему инклюжу тот или иной design.inc - структура раздела с вызовом тех или иных ф-й...
Не за что ;)
Ты в точности повторил то же самое, что я тебе и сказал, если я тебя правильно понял.
 

Hiden

Guest
Автор оригинала: RomikChef
мои сайты имеют вид /tralyalya.php
согласен, я пишу так же, самый простой способ, который приходит на ум и самый безотказый, а например, если у тебя есть инфа по заводу, так и пиши factory.php?id=1 по первому и тд, а например общая инфа о сайте info.php, кроме того в каждый файл у меня инклюдится файл common.php - общие переменные, общие ф-ии (в том числе ф-ии для вывода дизайна).
кстати такой подход с 1-2 общими файлами и дублированием папок и полей в базе очень неплохо подходит для мультиязыковых сайтов.
 

TMH

Guest
Как сделать сайт вида: index.php?id=1234. Как различают разделы по $id в таком случае? ...
Посмотри как реализован Nuke.
Там есть табла в БД со всеми модулями сайта(разделами) и при index.php?id=news (предположим) он грузит модуль новостей в общий шаблон сайта и т.д.
 
Сверху