Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Структура движка. (Пишем сами...) (http://forum.oszone.net/showthread.php?t=106158)

stone_wings 03-05-2008 03:42 793600

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

Coutty 03-05-2008 04:12 793608

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

BASSON_XVI 03-05-2008 05:34 793616

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

tolbol 09-05-2008 19:35 798439

вот в упор я не понимаю таких людей, которые при таком изобилии бесплатных в сотню раз пропатченых движков собираются писать свои и под себя, оно и понятно, что хочется чтоб всё работало как тебе надо, но ведь подумайте сами, чтобы написать грамотный движок способный не только хорошо работать но и сопротивляться натискам хулиганов понадобиться тысячи часов и причем не одного человека имеющего большой профессиональный опыт в программировании.
Так не проще ли взять за основу туже Joomla 1.0.15 или 1.5.3 и просто создать в ней папочку под свои скрипты, подключение которых далалось бы из скажем индексовой страницы джумлы и всё, делайти что хоте и уже готовых функций море и работа движка отлажена и система авторизации. Вот вам хороший кстати пример где всё это можно прекрасно наблюдать, всё что мне было нужно я всё сделал и всё работает.

stone_wings 09-05-2008 20:11 798452

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

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

Coutty 09-05-2008 22:06 798510

Т.е. что за описания?
Для навигации вполне сойдёт такое:
Код:

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 798757

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

Busla 10-05-2008 13:19 798814

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

BASSON_XVI 10-05-2008 13:39 798827

Busla, +1...

stone_wings 10-05-2008 19:46 799100

Цитата:

Цитата Coutty
Т.е. что за описания? »

Я вот про что... Просто думаю как бы сделать дерево ссылок. Мол категория такая.. Подкатегория такая.. Ну так же как на форуме, верху :
Цитата:

Цитата stone_wings
OSzone.net Forums » Компьютеры + Интернет » Вебмастеру » Структура движка. (Пишем сами...) »

Там без нескольких таблиц я себе это всё не представляю....

BASSON_XVI 11-05-2008 10:51 799433

извените что не в тему но как мне передать масив из пхп в яваскрипт.. переменные то я передаю а вот масив что то незнаю как...

Busla 11-05-2008 11:17 799441

сгенерировать javascript-код который инициализирует массив нужными значениями

BASSON_XVI 11-05-2008 13:43 799519

Мне с пхп в яву надо передовать а потмо через окнлик в функцию...

Busla 11-05-2008 14:43 799558

а java - это вообще из другой оперы :tomato2:

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

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

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

BASSON_XVI 11-05-2008 15:31 799582

Иногда матом ругаться хочеться... Я знаю что ява и яваскрипт в принцепи разные весчи просто короче написать ява... и не надо показывать какой я тут крутой что могу всем тыкать и замечания делать... :drug:

tolbol 11-05-2008 17:15 799653

stone_wings, зачем сразу флудить, просто хороший пример на который можно и посмотреть, а я как видишь тут и это было не разовое сообщение.

Coutty 11-05-2008 18:08 799684

Цитата:

Цитата stone_wings
Там без нескольких таблиц я себе это всё не представляю.... »

Если с подкатегориями, то...
Будет вот такая структура:

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

Код:

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 799972

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

BASSON_XVI 12-05-2008 14:48 800417

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


Время: 20:50.

Время: 20:50.
© OSzone.net 2001-