![]() |
Пара вопросов по PHP и созданию движка сайта
Объясните как сделать поддержку и смену скина сайта через админку.
И если не сложно расскажите кто с чего начинает разработку порталов и движков сайтов(особенно интересует как кто располагает файлы, где админки, где скины, модули и тд...). Просто передомной встала задача сделать портал на собственном движке. Я имею базовые знания о php и MySQl? Сделал простейший сайт с админкой, но хотелось бы более углублённых познаний в данной области, да и просто хочется улучьшить сайт. |
почитай про
Hierarchical Model-View-Controller (HMVC) и Model-View-Controller (MVC) поняв их устройство сразу всё будет быстро и удобно) |
themes/Mbskin/тут файло скина
themes/Mb23Skin/тут файло скина. В скрипте PHP код:
|
как вариант указывать скин в бд для каждого пользователя
|
А сама система шаблона как выглядит??? - Я примерно понял как сделатиь смену скинов.
А кто с чего начинает разработку движка сайта?? Ведь наверняка многие уже имеют определённый план действий при написание?? |
Ну если примитивный движок,то вначале воздаеться файл формы затем в него инклудяться все остальные,выглядитэто обычно как простая таблица. В ячейки таблицы инклудяться все остальные файлы. Больше - сложнее.Все зависит от того, что ты хочешь написать.
|
Smarty.
|
Цель создание информационного сайта по онлай играм причём скин должен выбирать админ(в админке, а не юзеры - как на ачате).
m0Hze пасиб. ps пошёл попробую с шаблонами разобраться, если не получится то выложу вам может тогда предложений и идей будет больше. |
Структура движка приблизительно такова
index.php - Запуск главного класса из main.php
+ Проверка прав пользователя Для создания подгрузки скинов. Достаточно сделать :
Для смены скина, запросом меняешь defualt на любой другой P.S. Структура сугубо абстрактная и расширенная. Для мелких проектов можно всё не делать/использовать. Для больших проектов: чем больше всё классифицированно - тем больше маштабируемость всей конструкции и проще в отладке |
Некоторые пункты весьма сомнительны. К примеру обычно настройки ДБ храняться в конфиге, второе, зачем отдельно создаватьфайл для подгрузки скриптов, их проще грузить по мере необходимости, страничку логина можновтулитьна главную.
|
Цитата:
А функции установки соединения с БД? в ДЛЕ ещё там хранятся функции для отправки и парсинга запросов БД Для подгрузки файл необязаетльно создавать, это абстрактная конструкция. Если скриптов очень много, то лучше создать отдельный класс в файле и там ими манипулировать login.php это не страничка логина, а обработчик авторизации и прочих действий с пользователями P.S. вся конструкция сугубо абстрактная и расширенная Естественно необязательно всего делать или навешивать |
Цитата:
Как разрабатыват двиг сайта? 1. Сформулировать в голове примерную структуру сайта ( страницы, формы, итд) [ 2 ] . необязательный пунки. Взять бумагу и нарисовать 'карту сайта, включая админку и системные файлы' 3. Принято создавать соединение с БД в отдельном файле, например db_connect.php и инклудить его в каждый скрипт. Так же должна юыть папка include где будут располагатся файлы которые подключаются. Главный скрипт - например Main.php - это просто шапка и подвал а середина инклудится, напрмимер страница нвостей будет иметь адрес main.php?page=news а маин пхп просто приинклудит News.php. МОжно подругму, есть масса способов, придумай свой если тебене нравятся существующие -посмори как организованы другие сайты. 4. Начмнать лучше с пользовательской стороны. НАпирмер, неа сайте палнируется регистрация юзеров. ты делаешь registration.php + создаешь в БД необходимые таблицы + сразу делаешь модуль управления юзерами в админке. Потом ты придумал что на сайте будут новости. Делаешь News.php + таблицы в БД + опять же модуль управления новстями в админке. и так далее. 5. Идешь в тему тестирования сайтов на этом форуме и постишь свой линк, его тестят на безопасность :) :) :) опять же это необязательный пункт :) Удачи! |
Чтобы лучше всего понять, лучше взять тотжий ДЛЕ, скачать и покататься.
Ставя бряки die() и отслеживание связей, начинаешь осознавать конструкцию работы |
Цитата:
Дле довольно объемный, полностью его перебрать не так и просто особенно для новичка, лучше взять что-то меньше и проще к примеру SimpleCMS или вобще вап движок - кода меньше, а принцип работы тот-же. |
Проектирование Интернет-приложений - http://phpclub.ru/detail/article/idesigning
|
LEE_ROY спасиб тоже не плохая статья.
|
Энди Харрис - PHP/MySQL для начинающих
Пол Хадсон & O'REILLY - PHP справочник Кузнецов Максим, Симдянов Игорь - MySQL на примерах |
ДЛЕ ужасное гавно внутри
вообще можно многому научиться просто копируя это с других сайтов я первое что сделал после того как смог выдрать из БД данные на страничку - написал модульную ЦМС с новостями, статьями, форумом, фотогалереей и тп модули имели возможность размещать свой контент в боковой панели сайта - типа последние 5 фоток, последние 5 новостей, была подписка на новости через мыло и rss.. и это всё было написано абсолютно без знаний "правильной" архитектуры лишь потом, поработав с чужими проектами 2 года, я смог сделать выводы - что стоит применять на практике, а чего лучше избегать |
Я вам одно хочу сказать , когда человек спрашивает "для создания движка с чего начать ?"
В первую очерередь нужно начать с самого себя - точнее с вас , я уверен на 99% что вы не напишите путевый движек , а напишите так называемый "ДВИЖЕК ГОВНО- КОД" Поверте мне - просто забудте это дело вобще , или результат ваших работ будет "ДВИЖЕК ГОВНО- КОД" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Я согласен с "Krist_ALL" он вам в кратце пытается обьяснить всю структуру написания движков ! Но и в тоже время я не согласен с "Krist_ALL" он старался обьяснить человеку который далек от этого , вобщем не буду дальше расписывать - просто забудте это и все ! Или результатом ваших работ будет "ДВИЖЕК ГОВНО- КОД" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Который и нахххххх не кому не будет нужен ! |
Цитата:
У тебя месячные? Ты каждым абзаццом противоречишь сам себе. Все начинают с плохого кода, ты излишне самоуверен. К тому же если не обьяснять людям то как они приблизяться? Учись думать головой перед тем как писать, ты просто зашол и затролил. |
малик ты сам небось написал когда-то ГАВНО-КОД и понял что на что-то большее не способен..
ТС имхо просто хочет правельно, так сказать проф. подойти к проектированию, тоесть чтобы ему обьяснили как правельно делать... есть паттерны проектирования, как сказали выше изучай паттерн MVC. Чтобы понимать и делать правельно, нужно читать правельные книги, а не php за 10 минут и тд... вот тебе две для начала, и конечно же гугль http://www.ozon.ru/context/detail/id/2847621/ http://www.ozon.ru/context/detail/id/2527057/ |
Товарищи, завязываем флуд и оффтоп. Человек просил помощи в развитии Себя, а не холивара.
|
Так вроде с понятием расположения всё утряслось!
Теперь возвращаюсь к смене скинов. Опишу более подробно то что сделал: в локальном каталоге будующего портала создал: includes - dir
Теперь более подробно о каждом PHP файле(кроме шаблонов там думаю я ошибок не совершил) и MYSQL: В MYSQL создал раздел site( и в тестовых целях юзера 12345 с паролем 12345 со всеми правами), после создал таблицу skin с полями id - int (и поставил галочку auto increment - помойму так правильно пишется) name - varchar patch - varchar заполнил таблицу данными о 2х скинах. db_connect.php PHP код:
PHP код:
|
Код:
SELECT id FROM skindatabase.php PHP код:
PHP код:
|
FireFenix Огромное спасибо, буду продолжать дальше, если что напишу!!
|
ТС, молодец! Большие сдвиги! Файлы по каталоги на мой взгляд верно распределил и с бд начал работать. Учи sql + обязательно как в пхп работать с бд. Например вайл а=фетч аррай...
|
Krist_ALL Кто такой ТС ?
У меня тут появилась ещё пара вопросов, напишу как с работы вернусь. |
Цитата:
|
Сам совершал такие ошибки, поэтому соет:
Писать движки - уебанство. Используйте готовые фреймворки. Например ZendFramework. И лишь на базе подобных решений получится гибкая вещь. Тема закрыта ввиду неконструктивности. |
| Время: 04:33 |