Войти

Показать полную графическую версию : Структура движка. (Пишем сами...)


stone_wings
03-05-2008, 03:42
В общем началписать, потом нагромоздил одно на другое, потом покилял, сделал по другому, всё равно переделал.. Короче говоря ужас. Подскажите кто делал, знает, ситуация такая.. Хочу сделать движок сайта, так сказать "под себя" не коммерческий, просто хочу посмотреть получится ли... Вот, но не могу представить полностью саму структуру, как лучше разбить файлы, папки и т.д. Особенно интересует чем лучше пользоваться в коде, ну обьекты\классы или тупо инклудами? Подскажите пожалуста...

Coutty
03-05-2008, 04:12
Сначала надо определиться с тем, как конечный сайт будет выглядеть. Делать движок, который умеет всё, по-моему нецелесообразно.
А уж там и решать с методом. ООП функциональному программированию не проигрывает и не имеет перед ним преимуществ при небольшом объёме кода.

BASSON_XVI
03-05-2008, 05:34
Канечно мож я и тупость говорю... Вообщем я сделал так сделал в одном файле много разных функций(нужных мне) подогал его к индексу, и когда нужно я просто обращяюсь к функциям, мне кажеться это код упрощает да и мне удобнее пропистаь вызов функции чем писать целый фрагмент кода....

tolbol
09-05-2008, 19:35
вот в упор я не понимаю таких людей, которые при таком изобилии бесплатных в сотню раз пропатченых движков собираются писать свои и под себя, оно и понятно, что хочется чтоб всё работало как тебе надо, но ведь подумайте сами, чтобы написать грамотный движок способный не только хорошо работать но и сопротивляться натискам хулиганов понадобиться тысячи часов и причем не одного человека имеющего большой профессиональный опыт в программировании.
Так не проще ли взять за основу туже Joomla 1.0.15 или 1.5.3 и просто создать в ней папочку под свои скрипты, подключение которых далалось бы из скажем индексовой страницы джумлы и всё, делайти что хоте и уже готовых функций море и работа движка отлажена и система авторизации. Вот вам хороший кстати пример (http://www.7hitov.ru/) где всё это можно прекрасно наблюдать, всё что мне было нужно я всё сделал и всё работает.

stone_wings
09-05-2008, 20:11
2tolbol пофлудить? О,о Или ты не правильно понял мою идею.. Я НЕ ИЩУ ДВИЖОК. И НЕ БУДУ ПОДНИМАТЬ МЕГА ПОРТАЛ.. Создание движка мне нужно для более УГЛУБЛЁННОГО изучения пхп... Так сказать попробывать собрать все знания в одну папку. :)

По теме. Как лучше организовать таблицы в скуле? Лучше большие и много ифны.. Или раздельно, данные и инфа? Взять к примеру то же меню.. Разбивать их на две таблицы.. Индентификаторы и Описания (Название по рус.) или же лучше в одну тыкнуть? Или у кого какие идеи?

Coutty
09-05-2008, 22:06
Т.е. что за описания?
Для навигации вполне сойдёт такое:

id (autoincrement) name
1 Новости
2 Статьи
3 Фотографии
4 Видео

Собственно, иначе как сделать?
Хочешь сделать одну таблицу для id, а другую для name? Не, конечно, можно. Но это будут независимые таблицы, потому что не связать тогда никак id с name.

Для самих статей можно такую структуру:

id (autoincrement) title text
1 Заголовок 1 Текст статьи
2 Заголовок 2 Текст статьи
3 Заголовок 3 Текст статьи


Для примера можно взять тот же портальный движок и посмотреть структуру таблиц. Они там довольно-таки объёмные - и ничего...

BASSON_XVI
10-05-2008, 11:19
tolbol, Хы... насчёт багов и дыр это ты верно....Я уже с 2 недели вожусь с недописанным движком и все не как не могу устранить все дыры и баги что бы двинуться дальше. Но лично для меня написание своей кмс это:
1. Интересно (изначально было просто пистаь скрипты типа гостевух потом решил что то больее обьемное сделать)
2. Огромный опыт как в написании самого кода так и в исправлении багов и защиты движка.
3. Я его собираюсь продавать (написав более функциональную версию я надеюсь привлечь больше клиентов) на первом движке который был просто парсером для шаблонов, я сделал несколько сайтов. Но простому пользователю тяжко даже в хтмл разобарться не то что в пхп.
4. Почему я должен использовать чужие разработки которыми заполнин всеь интернет. Я напишу свое и буду этим гордиться.
Вот так.... :jester:

Busla
10-05-2008, 13:19
tolbol, категорически не согласен:
1) к известным движкам регулярно появляются не только патчи, но и эксплоиты
2) чем сложнее (универсальнее) движок - тем больше шансов что в нём есть баги, дыры, ошибки
3) не надо быть семи пядей во лбу, чтобы увидеть, что некоторые известные движки написаны через одно место, т.к. авторы их сами начали разработку из чистого энтузиазма и для себя
4) спрогнозировать к чему приведёт вмешательство в чужой код гораздо сложнее, чем написать своё небольшое приложение

BASSON_XVI
10-05-2008, 13:39
Busla, +1...

stone_wings
10-05-2008, 19:46
Т.е. что за описания? »
Я вот про что... Просто думаю как бы сделать дерево ссылок. Мол категория такая.. Подкатегория такая.. Ну так же как на форуме, верху :
OSzone.net Forums » Компьютеры + Интернет » Вебмастеру » Структура движка. (Пишем сами...) »
Там без нескольких таблиц я себе это всё не представляю....

BASSON_XVI
11-05-2008, 10:51
извените что не в тему но как мне передать масив из пхп в яваскрипт.. переменные то я передаю а вот масив что то незнаю как...

Busla
11-05-2008, 11:17
сгенерировать javascript-код который инициализирует массив нужными значениями

BASSON_XVI
11-05-2008, 13:43
Мне с пхп в яву надо передовать а потмо через окнлик в функцию...

Busla
11-05-2008, 14:43
а java - это вообще из другой оперы :tomato2:

ну так в чём же дело-то?

jsкод="function init() {jsмассив=new Array();"
foreach ($phpмассив as $индекс => $значение) {
jsкод=jsкод."jsмассив[$индекс]='$значение';";
}
jsкод=jsкод."}";

ну и далее <body onload="init()">

BASSON_XVI
11-05-2008, 15:31
Иногда матом ругаться хочеться... Я знаю что ява и яваскрипт в принцепи разные весчи просто короче написать ява... и не надо показывать какой я тут крутой что могу всем тыкать и замечания делать... :drug:

tolbol
11-05-2008, 17:15
stone_wings, зачем сразу флудить, просто хороший пример на который можно и посмотреть, а я как видишь тут и это было не разовое сообщение.

Coutty
11-05-2008, 18:08
Там без нескольких таблиц я себе это всё не представляю.... »
Если с подкатегориями, то...
Будет вот такая структура:

Главная
- Новости
- Статьи
- - О программировании
- - О женском здоровье
- - О рекламе
- - Анекдоты
- - - Про Вовочку
- - - Про медведика
- Фотографии
- - Эротические
- - Все остальные

id cat parent
1 Главная 0
2 Новости 1
3 Статьи 1
4 Фотографии 1
5 О программировании 3
6 О женском здоровье 3
7 О рекламе 3
8 Анекдоты 3
9 Эротические 4
10 Все остальные 4
11 Про Вовочку 8
12 Про медведика 8

Скажем, пользователь переходит по ссылке index.php?cat=12
Тогда мы выбираем строку с id=12. Это анекдоты про медведика. В качестве родительской категории указана 8. Берём строку с id=8. Там в качестве родительской - 3. У id=3 родительской будет 1. Ну а первая - главная. У неё в id стоит ноль, значит на этом заканчиваем.
Реализовать можно в виде рекурсии или сложным запросом к mysql. Главную можно не указывать в качестве корня - чтобы не было лишних запросов.

BASSON_XVI, а нам короче ответить - погугли. Но мы же так не делаем (за некоторыми исключениями).

Ой, табличка неровная получилась...

Busla
12-05-2008, 00:08
BASSON_XVI, да иди ты в задницу - ему вроде подсказываешь, а он ещё и не доволен! Массив из php можно передавать и в java-applet. И не крутой, просто в телепаты не нанимался.

BASSON_XVI
12-05-2008, 14:48
Busla, да меня просто бесят везде где не напишеш говорят то не правильно сказал это... я понимаю мои знания в програминге не то что бы охти но и не ниже плинтуса.. :) лан флуд прекращаем за помощь спасибо если хош что то обсудить то в icq... :oszone:




© OSzone.net 2001-2012