Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Пара вопросов по PHP и созданию движка сайта (https://forum.antichat.xyz/showthread.php?t=124230)

AgS 08.06.2009 17:53

Пара вопросов по PHP и созданию движка сайта
 
Объясните как сделать поддержку и смену скина сайта через админку.
И если не сложно расскажите кто с чего начинает разработку порталов и движков сайтов(особенно интересует как кто располагает файлы, где админки, где скины, модули и тд...).
Просто передомной встала задача сделать портал на собственном движке. Я имею базовые знания о php и MySQl? Сделал простейший сайт с админкой, но хотелось бы более углублённых познаний в данной области, да и просто хочется улучьшить сайт.

Sharky 08.06.2009 17:58

почитай про
Hierarchical Model-View-Controller (HMVC)
и
Model-View-Controller (MVC)

поняв их устройство сразу всё будет быстро и удобно)

m0Hze 08.06.2009 18:00

themes/Mbskin/тут файло скина
themes/Mb23Skin/тут файло скина.


В скрипте
PHP код:

include('./themes/'.$_COOKIE['skin'].'/img/.....'); 

Както таак можно,способов масса.

Sharky 08.06.2009 18:03

как вариант указывать скин в бд для каждого пользователя

AgS 08.06.2009 18:06

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

blednii 08.06.2009 18:12

Ну если примитивный движок,то вначале воздаеться файл формы затем в него инклудяться все остальные,выглядитэто обычно как простая таблица. В ячейки таблицы инклудяться все остальные файлы. Больше - сложнее.Все зависит от того, что ты хочешь написать.

m0Hze 08.06.2009 18:17

Smarty.

AgS 08.06.2009 18:17

Цель создание информационного сайта по онлай играм причём скин должен выбирать админ(в админке, а не юзеры - как на ачате).

m0Hze пасиб.

ps пошёл попробую с шаблонами разобраться, если не получится то выложу вам может тогда предложений и идей будет больше.

FireFenix 08.06.2009 18:27

Структура движка приблизительно такова

index.php - Запуск главного класса из main.php
  • include.php - Подключение всех файлов
  • config.php - Конфигурация всех параметров
  • database.php - установка соединения с БД и подгрузка функций для БД
  • login.php - авторизация пользователя
  • skin.php - Управление скинами и передача управления нужному модулю
    • skin1.php - Загрузка скина 1
    • skin2.php - Загрузка скина 2
  • sсript.php - Управление <CSS, JS, VBS, etc> скриптами и передача управления нужному скрипту
    • script2.php - Загрузка скрипта 1
    • script2.php - Загрузка скрипта 2
  • main.php - Обработка всех URL'ов и перемещений по сайту
    • module1.php - по определённому URL передача обработки модулю 1
    • module2.php - по определённому URL передача обработки модулю 2
  • templates.php - Управление шаблонами и заполнение их данными
    • template1.html - Загрузка шаблона 1
    • template2.html - Загрузка шаблона 2
+ Обработка исключений и ошибок
+ Проверка прав пользователя

Для создания подгрузки скинов. Достаточно сделать :
  • В таблице пользователя добавить поле для скина
  • Шаблон под разные изображения
  • В зависимости от скина - подгружать нужный CSS
И потом когда пользователь заходит на страницу :
  1. Подгружашь параметры скина из БД
  2. Сопоставляешь названию из БД, нужную папку/файл скина
  3. Загружаешь картинки для скина
  4. Загружаешь CSS скина
При регистрации юзера стандартно можно ставить скин default.
Для смены скина, запросом меняешь defualt на любой другой

P.S. Структура сугубо абстрактная и расширенная.
Для мелких проектов можно всё не делать/использовать.
Для больших проектов: чем больше всё классифицированно - тем больше маштабируемость всей конструкции и проще в отладке

blednii 08.06.2009 18:38

Некоторые пункты весьма сомнительны. К примеру обычно настройки ДБ храняться в конфиге, второе, зачем отдельно создаватьфайл для подгрузки скриптов, их проще грузить по мере необходимости, страничку логина можновтулитьна главную.


Время: 05:03