Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление
  2. Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Веб [framework\движок сус]да, снова[25.05.2014]

Тема в разделе "Веб-обвязки и лаунчеры", создана пользователем danilko, 22 май 2014.

  1. Автор темы
    danilko

    danilko Старожил Пользователь

    Баллы:
    103
    В общем снова решил заняться написанием движка, в этот раз начал с создания framework`а на базе которого буду строить CMS.

    В чем уникальность будущей СУС:
    • нет заточки под конкретное назначение (блог\форум\ещё что-нибудь...)
    • минимальное ядро, простая архитектура
    • возможно, удобный шаблонизатор, вшитый в ядро (лично мое мнение)
    • поддержка сайтов с\без mod_rewrite (за счет использования разных типов определения URI страницы)
    • быстрая скорость работы
    Ну, теперь по подробнее. Заточки под конкретные нужды нет вообще, достигнуто это за счет использования не стандартной (я пока ни где не видел) шаблонизации. Уникальность вся в том, что модулей нет вообще, есть только "плагины", хотя я бы это плагинами не назвал, скорее расширения что-ли, ну не важно. Так вот, в шаблоне и странице могут присутствовать специальные теги, которые вызывают определенный плагин и его метод. Я сейчас не буду сильно расписывать как и что там устроено, просто скажу, что администратор сам сможет контролировать что и где выводится на странице. Так на примере ЛК можно из разных "плагинов" слепить именно то, что нужно только вам.
    Ядро не имеет конфигов из-за их не нужности там (разве что определять где "плагины" с шаблонами лежат)
    Ну про скорость и писать нечего, раз уж ядро состоит всего из трех файлов. Но добавлю то, что "плагины" подключатся динамически, по мере необходимости их использования.

    Процесс разработки:
    • Написание движка (85% | нужно дописать кое-что, избавиться от костылей и готово)
    • Написание библиотеки database (95% | осталось пару мелочей)
    • Написание ПУ (0% | даже не начинал, хочу к понедельнику сделать)

    Проценты взяты исходя из разницы плана и текущей ситуации.

    TODO:
    Ядро(framework/движек):
    1. Дописать поддержку сайтов без mod_rewrite
    СУС (CMS):

    1. Написать плагин управления ссылками (adm_lnk_edit)
    2. Написать плагин управления страницами (adm_pages_manager)
    3. Написать библиотеку users (для авторизации\регистрации)
    4. Написать библиотеку config (для конфигурирования "плагинов")
    5. Написать библиотеку database (понятно для чего, уже почти готова)

    changelog:
    [22.05.2014]Накидал за пару часов ядро
    [23.05.2014]Добавил обработку форм
    [23.05.2014]Написал демонстрационный плагин "hello_user"
    [24.05.2014]Переписал все в ООП
    [24.05.2014]Доработал шаблонизатор (обработка переменных в шаблоне)
    [24.05.2014]Заменил "cms/links.ser" на "cms/links.txt"
    [25.05.2014]Исправил баг в плагине "hello_user"
    [25.05.2014]Добавил простейшую тему оформления​

    Чтоб тему не удалили выкладываю то, что есть(очень сырое). В сборке движок + плагин "hello_user".

    Установка:
    1. Качаем архив
    2. Распаковываем в папку сайта
    3. Редактируем в файлах "input.php", "cms/controller.php" и "themes/parser.php" пути до тем оформления и движка (CMS_ROOT и THEMES_ROOT)
    4. Изменяем в конфиге "базовый URL" (url='...)
    5. Заходим на сайт
    Страницы пока хранятся в ini файлах(может, потом в БД перемещу), которые лежат в папке "cms/pages/". ini определяется по URL ("http://example.com/index.php/test" - загрузит ini файл "cms/pages/test.ini"). Чуть позже ещё пару плагинов закину, для удобного редактирования файлов "cms/links.ser" и "cms/fm.ser" в links.ser хранятся ссылки на расширения, а в fm.ser ссылки на обработчики форм. Движок устойчив к удалению всех ini-страниц, fm.ser и links.ser.
     

    Вложения:

    • cms_2.zip
      Размер файла:
      22,2 КБ
      Просмотров:
      15
    Последнее редактирование: 25 май 2014
  2. Хостинг MineCraft
    <
  3. olegempty1996

    olegempty1996 Старожил Пользователь

    Баллы:
    103
    Skype:
    olegempty1996
    Имя в Minecraft:
    olegempty1996
    буду ждать
     
  4. Toster_tpl

    Toster_tpl Старожил Пользователь

    Баллы:
    153
    Что на этот раз?
     
    Zard0nic нравится это.
  5. Автор темы
    danilko

    danilko Старожил Пользователь

    Баллы:
    103
    Обновил шапку: выложил cms.zip, написал инструкцию по установке.

    Ну, уже можешь на начало глянуть :)
    Пока очень гибкий фреймворк получается, потом и CMS будет.
     
    Лайка нравится это.
  6. MySt1k

    MySt1k Старожил Пользователь

    Баллы:
    173
    Накидай скринов
     
  7. Автор темы
    danilko

    danilko Старожил Пользователь

    Баллы:
    103
    Скринов чего ? Кода ? Или дизайна страниц ? Если дизайна, то его ещё нету...
    Снимок экрана от 2014-05-23 11:16:59.png
    Тем более пока фреймворк пишу, а не CMS.
     
    ПриветОтЛайки и Лайка нравится это.
  8. MySt1k

    MySt1k Старожил Пользователь

    Баллы:
    173
    Скринов функционала. =)
     
    Лайка нравится это.
  9. Toster_tpl

    Toster_tpl Старожил Пользователь

    Баллы:
    153
    Всё очень плохо. Нет, даже не очень плохо, а всё просто ужасно. Не хочу писать целую статью, как в предыдущих "cms", но поверь, всё действительно плохо. Может стоит подумать о том, чтобы не заниматься этим или хотя-бы начать чему-то учиться?
     
    Zard0nic и WitER нравится это.
  10. olegempty1996

    olegempty1996 Старожил Пользователь

    Баллы:
    103
    Skype:
    olegempty1996
    Имя в Minecraft:
    olegempty1996
    Щас посмотрим сее чудо!!![DOUBLEPOST=1400865857,1400864205][/DOUBLEPOST]Вот ето и все??? Токо надпись и писец)
     
    ПриветОтЛайки нравится это.
  11. olegempty1996

    olegempty1996 Старожил Пользователь

    Баллы:
    103
    Skype:
    olegempty1996
    Имя в Minecraft:
    olegempty1996
    Да согласен братан продолжай работать я жду новой версии !!!!
     
  12. mcdima

    mcdima Старожил Пользователь

    Баллы:
    153
    Имя в Minecraft:
    mcdima
    Шутка такая, да? Это же мусор...
     
    Лайка нравится это.
  13. dfan

    dfan Старожил Пользователь

    Баллы:
    123
    Skype:
    webdfan
    Имя в Minecraft:
    DFAN
    я со своими знаниями сомневаюсь что напишу cms сам. :(
    ну раз ты считаешь что тебе твоих знаний хватит... :coffee: то удачи тебе, что еще сказать :)
     
  14. Автор темы
    danilko

    danilko Старожил Пользователь

    Баллы:
    103
    Да блин что вы накинулись сразу, это ж было чтоб тему не закрыли и времени я на это потратил от силы часа два, все будет, только позже... Москва тоже не сразу строилась.

    В общем сделал что-то вроде рефакторинга, теперь код соответствует стилю ООП (в общих чертах);доработал шаблонизатор; поправил баг в демонстрационном плагине;пришлось все-таки добавить конфиг для ядра (скорее шаблонизатора); ну и там ещё мелочи всякие...
     
    Последнее редактирование: 25 май 2014
    Лайка нравится это.
  15. Toster_tpl

    Toster_tpl Старожил Пользователь

    Баллы:
    153
    Всё по прежнему плохо.
    Заметил одну важную вещь... Ты не знаешь, как работают регулярные выражения в следствии чего лепишь ерунду. Собственно как и всё то из чего состоит этот "движок".
    Рассказать, что будет, если я вместо тега, например, [hello][/hello], напишу [<script>alert('code')</script>][/<script>alert('code')</script>]?

    Здесь не форум php программистов, следовательно, кроме определенной части людей на этом форуме, тебе никто не поможет, более того закидают какашками за плохой код и еще долго будут помнить об этом, а это как-никак репутация.
    Если не хочешь портить репутацию, то стоит дать свой код на любом php форуме и попросить подсказать, что как и где исправить. Или хотя бы кому-нибуть из знающих на этом форуме в ЛС.
     
    Tarock12 нравится это.
  16. Автор темы
    danilko

    danilko Старожил Пользователь

    Баллы:
    103
    Вообще, я не использую теги типа [hello][/hello], у меня просто [hello] считается тегом, это первое. Второе: при использовании тега [<script>alert('code')</script>] он будет просто вырезан из шаблона, сейчас даже попробую подставить это в шаблон.[DOUBLEPOST=1401028368,1401028149][/DOUBLEPOST]Собсно, как я и писал выше: никого сообщения от браузера не получил, ну и при просмотре кода страницы на месте "[<script>alert('code')</script>]" ничего нет, все из-за того, что я перебираю регулярными выражениями все теги и по очереди обрабатываю каждый, так что улетела твоя "какашка" мимо.

    ------
    А, да, забыл написать куда же пропал этот скрипт. В общем если не удается найти чем обработать тег, то он просто заменяется на пустоту ("" или null)
     
    Последнее редактирование: 25 май 2014
  17. Toster_tpl

    Toster_tpl Старожил Пользователь

    Баллы:
    153
    Ага-ага, точно
    [​IMG]
     
    Лайка, Hephest и mcdima нравится это.
  18. Автор темы
    danilko

    danilko Старожил Пользователь

    Баллы:
    103
    У меня все нормально было :)
    Что ты делал для этого?[DOUBLEPOST=1401030117,1401030085][/DOUBLEPOST]А ещё код страницы можно ?
     
  19. Toster_tpl

    Toster_tpl Старожил Пользователь

    Баллы:
    153
    Поменял ссылку в конфиге, который открыт для всех желающих
    http://SSMaker.ru/5f660770.png
    И все файлы, которые не php и не .htaccess может прочитать пользователь, если только сам .htaccess не блокирует к ним доступ.
     
    Лайка нравится это.
  20. Автор темы
    danilko

    danilko Старожил Пользователь

    Баллы:
    103
    Мы же говорили о тегах, а тут ini-файл, редактировать который может только админ. Отрыт для всех желающих же только для чтения, там пока ничего важного нету, типа данных подключения к БД, как будет так прикрую всю папку cms.[DOUBLEPOST=1401033713,1401030783][/DOUBLEPOST]ini обрабатываются не мной, а parse_ini_file это одна из функций php, так к сведению.
     
    ПриветОтЛайки и Лайка нравится это.

Поделиться этой страницей