Перейти к содержимому


Партнерская программа Kredov

Логика построения сайта. Рассматриваются 2 варианта.

#1 volkan

volkan
  • Пользователь
  • 10 сообщений
  • Репутация: 0
0

Отправлено 24 Январь 2013 - 18:37

Всем привет! Наконец-то начинаю писать сайт. Очень сильно нуждаюсь в советах от знающих людей.
Сейчас мне необходимо определиться с самыми основами - логикой построения сайта. Прочитав кучи статей, я выделил для себя 2 варианта строения сайта:
1) Есть файл с дизайном сайта, и в него подключаются файлы с контентом с помощью метода GET (потом полученная переменная идёт в include $page;). В итоге среднестатистическая страница получается: site.ru/index.php?page=pages/about.php.

2) В файлы с контентом подключаются файлы с дизайном с помощью include'а. В итоге среднестатистическая страница получается: site.ru/pages/about.php.

Сравнивая эти 2 варианта, я выделил несколько положительных и отрицательных моментов:

Для первого варианта:
+ Все ссылки идут от одного и того же файла - не надо думать.
+ При изменении чего-то в 1 файле меняется сразу везде.
- Некрасивый длинный адрес страницы.

Для второго варианта:
+ Адресная строка стандартного красивого вида.
- Придётся иметь несколько файлов дизайна для каждой глубины папок, чтобы ссылки на папку с изображениями вели правильно, то есть для файлов в папках один файл дизайна, для файлов в папках в папках - другой.
- Соответственно при изменении чего-то в 1 файле дизайна, придётся менять это во всех.

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


 

 

  • 0

#2 Shaka13

Shaka13
  • Заблокированные
  • 136 сообщений
  • Репутация: 10

Отправлено 24 Январь 2013 - 18:56

не совсем понял, что ты хотел сказать, но то, что до конца не понял это очевидно, скорее всего сказывается нехватка базовых знаний и опыта.
сейчас одна точка вхождения наиболее популярная и самая распространенная технология.
site.ru/index.php?page=pages/about.php - это немного по идиотски выглядит, можно сделать site.ru/index.php?page=about или совсем красиво, например вот так site.ru/about/
про 2 вариант я совсем не понял, шаблон ты можешь подключать по-любому в любом варианте
  • 1

#3 volkan

volkan
    Topic Starter
  • Пользователь
  • 10 сообщений
  • Репутация: 0

Отправлено 24 Январь 2013 - 19:28

Спасибо за отзыв. Так как у меня опыта нет почти, мне интересно услышать, каким способом вдальнейшем будет удобнее пользоваться, а то, что могу по-любому - знаю :), но как лучше....
Одну точку входа где-то ругали, я тогда внимания не придавал, а сейчас стало интересно, кто как к ней относится, чтоб глобально не ошибиться))
  • 0

#4 Shaka13

Shaka13
  • Заблокированные
  • 136 сообщений
  • Репутация: 10

Отправлено 24 Январь 2013 - 19:38

сейчас практически все приложения строятся на единой точке входа, применительно к веб, опишу упрощенно алгоритм:
  • index.php служит точкой входа
  • .htaccess настраивается тааким образом, что если физически не существует файла и папок, происходила переадресация на index.php
  • далее с помощью глобальной переменной получаешь(не обязательно это может быть $_GET) и разбираешь адресную строку, ее(адресную строку) организовать можешь как хочешь :) главное, чтоб была общая логика
  • на основании полученных данных, подключаешь все необходимые модули(функции/классы), архитектуру и названия файлов и папок делаешь как хочешь
  • извлекаешь необходимые данные, на основании предыдущего пункта
  • подключаешь шаблон, он может состоят из необходимого количества файлов
  • далее полученные данные оборачиваешь в html и выводишь

  • 0

#5 Shaka13

Shaka13
  • Заблокированные
  • 136 сообщений
  • Репутация: 10

Отправлено 24 Январь 2013 - 20:16

ЗЫ
1. вариант, как правило подразумевает модульность, что делает сайт легко расширяемым и легко поддерживаемым, т.е. при расширении изменений в других файлах практически не требуется.
2. больше подходит для небольших статических сайтов, т.к. расширение и модернизация затрагивает многие уже существующие файлы, а так происходит значительное дублирование кода.
  • 0

#6 Mr.Developer

Mr.Developer
  • Пользователь
  • 73 сообщений
  • Репутация: 12

Отправлено 24 Январь 2013 - 21:09

Уважаемый ТС, советую вам фильтровать полученные данные и ни в коем случае не принимать в них параметры типа page.php (вместе в расширением). Такие сайты очень легко взламываются ибо злоумышленник может проинклудить что-то совсем другое нежели вы ожидаете xD
Пусть в параметрах будут разрешены только максимум цифры,буквы и знак «-»
  • 0

#7 volkan

volkan
    Topic Starter
  • Пользователь
  • 10 сообщений
  • Репутация: 0

Отправлено 24 Январь 2013 - 21:16

Да, действительно, учту, спасибо большое!
  • 0

#8 isvetlichniy

isvetlichniy
  • Пользователь
  • 619 сообщений
  • Репутация: 93

Отправлено 24 Январь 2013 - 23:30

можно сделать site.ru/index.php?page=about или совсем красиво, например вот так site.ru/about/

я бы делал вот так
site.ru/?page=about
site.ru/?page=home
site.ru/?page=contact
ЧПУ есть, выглядит адекватно и не требует никаких настроек htaccess или чего то другого. ну и единая точка входа
  • 0

#9 vipers

vipers
  • Заблокированные
  • 12 сообщений
  • Репутация: -2

Отправлено 25 Январь 2013 - 07:51

юзай CodeIgniter
  • 0

#10 Mr.Developer

Mr.Developer
  • Пользователь
  • 73 сообщений
  • Репутация: 12

Отправлено 25 Январь 2013 - 10:39

isvetlichniy, А в чем собственно проблема прикрутить сюда еще и rewrite rules?
В итоге будут красивые адреса типа site.ru/about, etc


  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru