Пара вопросов по PHP и созданию движка сайта

Discussion in 'PHP' started by AgS, 8 Jun 2009.

Thread Status:
Not open for further replies.
  1. AgS

    AgS New Member

    Joined:
    16 Nov 2008
    Messages:
    22
    Likes Received:
    3
    Reputations:
    0
    Объясните как сделать поддержку и смену скина сайта через админку.
    И если не сложно расскажите кто с чего начинает разработку порталов и движков сайтов(особенно интересует как кто располагает файлы, где админки, где скины, модули и тд...).
    Просто передомной встала задача сделать портал на собственном движке. Я имею базовые знания о php и MySQl? Сделал простейший сайт с админкой, но хотелось бы более углублённых познаний в данной области, да и просто хочется улучьшить сайт.
     
  2. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    почитай про
    Hierarchical Model-View-Controller (HMVC)
    и
    Model-View-Controller (MVC)

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

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    как вариант указывать скин в бд для каждого пользователя
     
  4. AgS

    AgS New Member

    Joined:
    16 Nov 2008
    Messages:
    22
    Likes Received:
    3
    Reputations:
    0
    А сама система шаблона как выглядит??? - Я примерно понял как сделатиь смену скинов.
    А кто с чего начинает разработку движка сайта??
    Ведь наверняка многие уже имеют определённый план действий при написание??
     
    #4 AgS, 8 Jun 2009
    Last edited: 8 Jun 2009
  5. blednii

    blednii Elder - Старейшина

    Joined:
    12 Jun 2007
    Messages:
    160
    Likes Received:
    23
    Reputations:
    -7
    Ну если примитивный движок,то вначале воздаеться файл формы затем в него инклудяться все остальные,выглядитэто обычно как простая таблица. В ячейки таблицы инклудяться все остальные файлы. Больше - сложнее.Все зависит от того, что ты хочешь написать.
     
  6. AgS

    AgS New Member

    Joined:
    16 Nov 2008
    Messages:
    22
    Likes Received:
    3
    Reputations:
    0
    Цель создание информационного сайта по онлай играм причём скин должен выбирать админ(в админке, а не юзеры - как на ачате).

    m0Hze пасиб.

    ps пошёл попробую с шаблонами разобраться, если не получится то выложу вам может тогда предложений и идей будет больше.
     
    #6 AgS, 8 Jun 2009
    Last edited: 8 Jun 2009
  7. FireFenix

    FireFenix Elder - Старейшина

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    Структура движка приблизительно такова

    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. Структура сугубо абстрактная и расширенная.
    Для мелких проектов можно всё не делать/использовать.
    Для больших проектов: чем больше всё классифицированно - тем больше маштабируемость всей конструкции и проще в отладке
     
    #7 FireFenix, 8 Jun 2009
    Last edited: 8 Jun 2009
  8. blednii

    blednii Elder - Старейшина

    Joined:
    12 Jun 2007
    Messages:
    160
    Likes Received:
    23
    Reputations:
    -7
    Некоторые пункты весьма сомнительны. К примеру обычно настройки ДБ храняться в конфиге, второе, зачем отдельно создаватьфайл для подгрузки скриптов, их проще грузить по мере необходимости, страничку логина можновтулитьна главную.
     
  9. FireFenix

    FireFenix Elder - Старейшина

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    Настройки - да
    А функции установки соединения с БД?
    в ДЛЕ ещё там хранятся функции для отправки и парсинга запросов БД

    Для подгрузки файл необязаетльно создавать, это абстрактная конструкция. Если скриптов очень много, то лучше создать отдельный класс в файле и там ими манипулировать

    login.php это не страничка логина, а обработчик авторизации и прочих действий с пользователями

    P.S. вся конструкция сугубо абстрактная и расширенная Естественно необязательно всего делать или навешивать
     
    #9 FireFenix, 8 Jun 2009
    Last edited: 8 Jun 2009
  10. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    Думаю это сложно будет для начинающего - понять это.

    Как разрабатыват двиг сайта?

    1. Сформулировать в голове примерную структуру сайта ( страницы, формы, итд)

    [ 2 ] . необязательный пунки. Взять бумагу и нарисовать 'карту сайта, включая админку и системные файлы'

    3. Принято создавать соединение с БД в отдельном файле, например db_connect.php и инклудить его в каждый скрипт. Так же должна юыть папка include где будут располагатся файлы которые подключаются. Главный скрипт - например Main.php - это просто шапка и подвал а середина инклудится, напрмимер страница нвостей будет иметь адрес main.php?page=news а маин пхп просто приинклудит News.php. МОжно подругму, есть масса способов, придумай свой если тебене нравятся существующие -посмори как организованы другие сайты.

    4. Начмнать лучше с пользовательской стороны. НАпирмер, неа сайте палнируется регистрация юзеров. ты делаешь registration.php + создаешь в БД необходимые таблицы + сразу делаешь модуль управления юзерами в админке. Потом ты придумал что на сайте будут новости. Делаешь News.php + таблицы в БД + опять же модуль управления новстями в админке. и так далее.

    5. Идешь в тему тестирования сайтов на этом форуме и постишь свой линк, его тестят на безопасность :) :) :) опять же это необязательный пункт :) Удачи!
     
  11. FireFenix

    FireFenix Elder - Старейшина

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    Чтобы лучше всего понять, лучше взять тотжий ДЛЕ, скачать и покататься.
    Ставя бряки die() и отслеживание связей, начинаешь осознавать конструкцию работы
     
  12. blednii

    blednii Elder - Старейшина

    Joined:
    12 Jun 2007
    Messages:
    160
    Likes Received:
    23
    Reputations:
    -7

    Дле довольно объемный, полностью его перебрать не так и просто особенно для новичка, лучше взять что-то меньше и проще к примеру SimpleCMS или вобще вап движок - кода меньше, а принцип работы тот-же.
     
    1 person likes this.
  13. LEE_ROY

    LEE_ROY Elder - Старейшина

    Joined:
    9 Nov 2006
    Messages:
    450
    Likes Received:
    188
    Reputations:
    26
    Проектирование Интернет-приложений - http://phpclub.ru/detail/article/idesigning
     
  14. AgS

    AgS New Member

    Joined:
    16 Nov 2008
    Messages:
    22
    Likes Received:
    3
    Reputations:
    0
    LEE_ROY спасиб тоже не плохая статья.
     
    1 person likes this.
  15. Ru}{eeZ

    Ru}{eeZ Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    454
    Likes Received:
    73
    Reputations:
    -5
    Энди Харрис - PHP/MySQL для начинающих
    Пол Хадсон & O'REILLY - PHP справочник
    Кузнецов Максим, Симдянов Игорь - MySQL на примерах
     
  16. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    ДЛЕ ужасное гавно внутри

    вообще можно многому научиться просто копируя это с других сайтов
    я первое что сделал после того как смог выдрать из БД данные на страничку - написал модульную ЦМС с новостями, статьями, форумом, фотогалереей и тп
    модули имели возможность размещать свой контент в боковой панели сайта - типа последние 5 фоток, последние 5 новостей, была подписка на новости через мыло и rss..

    и это всё было написано абсолютно без знаний "правильной" архитектуры

    лишь потом, поработав с чужими проектами 2 года, я смог сделать выводы - что стоит применять на практике, а чего лучше избегать
     
  17. malik555

    malik555 New Member

    Joined:
    4 Feb 2009
    Messages:
    132
    Likes Received:
    1
    Reputations:
    0
    Я вам одно хочу сказать , когда человек спрашивает "для создания движка с чего начать ?"

    В первую очерередь нужно начать с самого себя - точнее с вас , я уверен на 99% что вы не напишите путевый движек , а напишите так называемый "ДВИЖЕК ГОВНО- КОД"

    Поверте мне - просто забудте это дело вобще , или результат ваших работ будет "ДВИЖЕК ГОВНО- КОД" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


    Я согласен с "Krist_ALL" он вам в кратце пытается обьяснить всю структуру написания движков !

    Но и в тоже время я не согласен с "Krist_ALL" он старался обьяснить человеку который далек от этого , вобщем не буду дальше расписывать - просто забудте это и все !

    Или результатом ваших работ будет "ДВИЖЕК ГОВНО- КОД" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    Который и нахххххх не кому не будет нужен !
     
  18. blednii

    blednii Elder - Старейшина

    Joined:
    12 Jun 2007
    Messages:
    160
    Likes Received:
    23
    Reputations:
    -7


    У тебя месячные? Ты каждым абзаццом противоречишь сам себе. Все начинают с плохого кода, ты излишне самоуверен. К тому же если не обьяснять людям то как они приблизяться? Учись думать головой перед тем как писать, ты просто зашол и затролил.
     
    1 person likes this.
  19. LEE_ROY

    LEE_ROY Elder - Старейшина

    Joined:
    9 Nov 2006
    Messages:
    450
    Likes Received:
    188
    Reputations:
    26
    малик ты сам небось написал когда-то ГАВНО-КОД и понял что на что-то большее не способен..
    ТС имхо просто хочет правельно, так сказать проф. подойти к проектированию, тоесть чтобы ему обьяснили как правельно делать... есть паттерны проектирования, как сказали выше изучай паттерн MVC. Чтобы понимать и делать правельно, нужно читать правельные книги, а не php за 10 минут и тд... вот тебе две для начала, и конечно же гугль
    http://www.ozon.ru/context/detail/id/2847621/
    http://www.ozon.ru/context/detail/id/2527057/
     
  20. FireFenix

    FireFenix Elder - Старейшина

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    Товарищи, завязываем флуд и оффтоп. Человек просил помощи в развитии Себя, а не холивара.
     
    #20 FireFenix, 9 Jun 2009
    Last edited: 10 Jun 2009
Thread Status:
Not open for further replies.